US3593306A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Apparatus for reducing memory fetches in program loops
Assignee: AT&T Inc
•
Filing: 1969-07-25
•
Granted: 1971-07-13
•
Expires: 1989-07-25
Abstract
Abstract The first instruction in a program loop and the address of the second instruction in the loop are temporarily stored in a small, fast, secondary memory. These temporarily stored values are then used each time the last instruction in the loop transfers to the first instruction, thereby saving n-l primary memory fetches in a loop executed n times.
Inventors
- 👤 Wing N Toy
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-25 07:13
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3808; G06F9/381; G06F9/32; G06F9/322; G06F9/325
Claims Analysis
Total Claims: 40
Claim 1
Independent Claim
117 words
A programmed digital data processor including a main memory and two auxiliary memories comprising: means for extracting from each main memory a transferee instruction to which a transfer is allowed by other, transfer, instructions; means for storing a selected portion of said transferee instruction in one of said two auxiliary memories; means for incrementing and then storing the incremented main memory address of said transferee instruction in the other of said two auxiliary memories; means for extracting from said main memory a transfer instruction whose designation is said transferee instruction; and means responsive to said transfer instruction for retrieving both said stored selected portion of said transferee instruction and said incremented stored address from said auxiliary memories.
Claim 2
Dependent Claim
117 words
A programmed digital data processor including a main memory and two auxiliary memories comprising: means for extracting from each main memory a transferee instruction to which a transfer is allowed by other, transfer, instructions; means for storing a selected portion of said transferee instruction in one of said two auxiliary memories; means for incrementing and then storing the incremented main memory address of said transferee instruction in the other of said two auxiliary memories; means for extracting from said main memory a transfer instruction whose designation is said transferee instruction; and means responsive to said transfer instruction for retrieving both said stored selected portion of said transferee instruction and said incremented stored address from said auxiliary memories.
Claim 3
Dependent Claim
17 words
storing the address of the second instruction of each said loop in a local, fast-access storage medium;
Claim 4
Dependent Claim
17 words
storing the address of the second instruction of each said loop in a local, fast-access storage medium;
Claim 5
Dependent Claim
26 words
storing each of said detected transferee instructions and the addresses of the next sequential instruction following each of said detected transferee instructions in a high-speed memory;
Claim 6
Dependent Claim
26 words
storing each of said detected transferee instructions and the addresses of the next sequential instruction following each of said detected transferee instructions in a high-speed memory;
Claim 7
Dependent Claim
12 words
Apparatus as in claim 1 wherein said auxiliary memories comprise last-in-first-out buffers.
Claim 8
Dependent Claim
22 words
storing said detected transferee instruction and the address of the next sequential instruction following said detected transferee instruction in a high-speed memory;
Claim 9
Dependent Claim
22 words
storing said detected transferee instruction and the address of the next sequential instruction following said detected transferee instruction in a high-speed memory;
Claim 10
Dependent Claim
11 words
executing program instructions until a conditional transfer instruction has been executed;
Claim 11
Dependent Claim
11 words
executing program instructions until a conditional transfer instruction has been executed;
Claim 12
Dependent Claim
73 words
Apparatus for decreasing the execution time of program loops in a digital computer comprising: means for temporarily storing both the first, or transferee, instruction in each of said program loops and the address of the next sequential instruction following each said transferee instruction; and means responsive to the last, or conditional transfer, instruction in each of said program loops for fetching both said transferee instruction and said address from said temporary storage means.
Claim 13
Dependent Claim
73 words
Apparatus for decreasing the execution time of program loops in a digital computer comprising: means for temporarily storing both the first, or transferee, instruction in each of said program loops and the address of the next sequential instruction following each said transferee instruction; and means responsive to the last, or conditional transfer, instruction in each of said program loops for fetching both said transferee instruction and said address from said temporary storage means.
Claim 14
Dependent Claim
11 words
executing program instructions until a conditional transfer instruction has been executed;
Claim 15
Dependent Claim
11 words
executing program instructions until a conditional transfer instruction has been executed;
Claim 16
Dependent Claim
23 words
utilizing said first instruction and said address of said second instruction from said local fast-access storage medium each time said loop is traversed.
Claim 17
Dependent Claim
23 words
utilizing said first instruction and said address of said second instruction from said local fast-access storage medium each time said loop is traversed.
Claim 18
Dependent Claim
18 words
determining whether said execution of said conditional transfer instruction has resulted in the generation of said terminating signal;
Claim 19
Dependent Claim
18 words
determining whether said execution of said conditional transfer instruction has resulted in the generation of said terminating signal;
Claim 20
Dependent Claim
127 words
In combination with a digital computer of the type wherein the first, or transferee, instruction in each program loop contains a suffix portion, the improvement which comprises: means for Using said suffix portion to detect the first execution of said transferee instruction in each particular program loop; means for temporarily storing each of said transferee instructions at the time of said first execution; means for temporarily storing the contents of the program address register contemporaneously with said storing of each of said transferee instructions; means for detecting the end-of-loop, or conditional transfer, instruction corresponding to each of said transferee instructions; and means responsive to each of said conditional transfer instructions for fetching both the corresponding transferee instruction and program address register contents from said temporary storage means.
Claim 21
Dependent Claim
127 words
In combination with a digital computer of the type wherein the first, or transferee, instruction in each program loop contains a suffix portion, the improvement which comprises: means for Using said suffix portion to detect the first execution of said transferee instruction in each particular program loop; means for temporarily storing each of said transferee instructions at the time of said first execution; means for temporarily storing the contents of the program address register contemporaneously with said storing of each of said transferee instructions; means for detecting the end-of-loop, or conditional transfer, instruction corresponding to each of said transferee instructions; and means responsive to each of said conditional transfer instructions for fetching both the corresponding transferee instruction and program address register contents from said temporary storage means.
Claim 22
Dependent Claim
18 words
determining whether said execution of said conditional transfer instruction has resulted in the generation of said terminating signal;
Claim 23
Dependent Claim
18 words
determining whether said execution of said conditional transfer instruction has resulted in the generation of said terminating signal;
Claim 24
Dependent Claim
26 words
fetching said transferee instruction and said next sequential address from said high-speed memory and returning to step (3) if said terminating signal has not been generated;
Claim 25
Dependent Claim
26 words
fetching said transferee instruction and said next sequential address from said high-speed memory and returning to step (3) if said terminating signal has not been generated;
Claim 26
Independent Claim
32 words
The method of reducing the execution time in a digital computer of a sequence of program instructions that are repetitively executed until a terminating signal has been generated, comprising the steps of:
Claim 27
Independent Claim
32 words
The method of reducing the execution time in a digital computer of a sequence of program instructions that are repetitively executed until a terminating signal has been generated, comprising the steps of:
Claim 28
Dependent Claim
26 words
fetching the most recently stored transferee instruction and address from said high-speed memory and returning to step (3) if said terminating signal has not been generated;
Claim 29
Dependent Claim
26 words
fetching the most recently stored transferee instruction and address from said high-speed memory and returning to step (3) if said terminating signal has not been generated;
Claim 30
Dependent Claim
17 words
executing the next sequential instruction following said conditional transfer instruction if said terminating signal has been generated;
Claim 31
Dependent Claim
17 words
executing the next sequential instruction following said conditional transfer instruction if said terminating signal has been generated;
Claim 32
Dependent Claim
18 words
and executing the next sequential instruction following said conditional transfer instruction if said terminating signal has been generated.
Claim 33
Dependent Claim
18 words
and executing the next sequential instruction following said conditional transfer instruction if said terminating signal has been generated.
Claim 34
Independent Claim
33 words
The method of reducing the execution time in a digital computer of nested sequences of program instructions, each sequence being repetitively executed until a terminating signal has been generated, comprising the steps of:
Claim 35
Independent Claim
33 words
The method of reducing the execution time in a digital computer of nested sequences of program instructions, each sequence being repetitively executed until a terminating signal has been generated, comprising the steps of:
Claim 36
Dependent Claim
22 words
and repeating steps (3) through (6) until at least one terminating signal has been generated by each of said repetitively executed sequences.
Claim 37
Dependent Claim
22 words
and repeating steps (3) through (6) until at least one terminating signal has been generated by each of said repetitively executed sequences.
Claim 38
Independent Claim
19 words
The method of increasing the speed of execution of program loops in a digital computer comprising the steps of:
Claim 39
Independent Claim
19 words
The method of increasing the speed of execution of program loops in a digital computer comprising the steps of:
Claim 40
Dependent Claim
31 words
The method according to claim 7 further including the step of: entering said first instruction and said address of said second instruction into pushdown storage media for executing nested program loops.
References Cited (Backward Citations)
US3251041A
Cited
US3283307A
Cited
US3290656A
Cited
US3337851A
Cited
US3348211A
Cited
US3466613A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1974-07-12 | 1975-01-11 | 1975-07-13 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1978-07-12 | 1979-01-11 | 1979-07-13 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1982-07-12 | 1983-01-11 | 1983-07-13 | $7700.00 | Window Closed / Lapsed |