Knowledge

Optimum programming

Source 📝

61:
then place the next instruction for the program at that location. Thus when the current instruction completed and the computer looked for the next one as specified in the instruction, that memory location would just be arriving and would be able to be read in immediately. For example, if a programmer had just coded an
60:
and its descendants, included a field specifying the address of the next instruction to be executed in their instruction format. A programmer employing optimum coding would look up the time needed to perform the current instruction, calculate how far the memory system would move in that time, and
24:
is the practice of arranging a computer program's instructions in memory so as to minimize the time the machine spends waiting for instructions. It is of historical interest mainly due to the design of many early digital computers.
40:
of modern computers, words in serial memory are made available one at a time; the time required to access a particular word depends on the "distance" between it and the word currently being read. If a given delay line held
69:
instruction required 4 word-times to execute, the programmer would set the "next address" field of the instruction to 404, and would place the next instruction there.
49:/2 word times. Without optimum coding, such a machine would spend most of its time idly waiting for instructions and data. 92:, who authored one particularly clever bit of optimum programming that has entered computer lore, is described in 147: 80:. Both machines had optimizing assemblers (SOAP for the IBM, POGO for Bendix) that could automate this task. 113: 37: 8: 29: 93: 127: 57: 141: 33: 77: 53: 72:
In the United States, optimum coding was most commonly employed on the
89: 73: 28:
Most early computers used some form of serial memory, primarily
52:
To circumvent this problem, many machines, particularly
139: 45:words, the average time to read a word would be 140: 125: 65:instruction at address 400, and the 13: 14: 159: 126:Kugel, Herb (October 22, 2001). 119: 107: 1: 100: 16:In the history of computing, 7: 83: 10: 164: 148:Software optimization 38:random-access memory 18:optimum programming 30:delay-line memory 155: 132: 131: 123: 117: 111: 94:The Story of Mel 78:Bendix G-15 68: 64: 163: 162: 158: 157: 156: 154: 153: 152: 138: 137: 136: 135: 124: 120: 114:IBM SOAP Manual 112: 108: 103: 86: 66: 62: 12: 11: 5: 161: 151: 150: 134: 133: 118: 105: 104: 102: 99: 98: 97: 85: 82: 34:magnetic drums 22:optimum coding 9: 6: 4: 3: 2: 160: 149: 146: 145: 143: 130:. Dr. Dobb's. 129: 128:"The IBM 650" 122: 115: 110: 106: 95: 91: 88: 87: 81: 79: 75: 70: 59: 55: 50: 48: 44: 39: 36:. Unlike the 35: 31: 26: 23: 19: 121: 109: 74:IBM 650 71: 51: 46: 42: 27: 21: 17: 15: 54:Alan Turing 101:References 142:Category 90:Mel Kaye 84:See also 76:and the 20:, or 67:ADD 63:ADD 58:ACE 56:'s 32:or 144:: 116:. 96:. 47:n 43:n

Index

delay-line memory
magnetic drums
random-access memory
Alan Turing
ACE
IBM 650
Bendix G-15
Mel Kaye
The Story of Mel
IBM SOAP Manual
"The IBM 650"
Category
Software optimization

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.