Lesson plan

Optimum programming

In the history of computing, optimum programming, or optimum coding 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. Most early computers used some form of serial memory, primarily delay-line memory or magnetic drums. Unlike the random-access memory 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 n words, the average time to read a word would be n/2 word times. Without optimum coding, such a machine would spend most of its time idly waiting for instructions and data. To circumvent this problem, many machines, particularly Alan Turing's ACE 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 then place the next instruction for the program at that location.…

Back to article

Article summary

In the history of computing, optimum programming, or optimum coding 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. Most early computers used some form of serial memory, primarily delay-line memory or magnetic drums. Unlike the random-access memory 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 n words, the average time to read a word would be n/2 word times. Without optimum coding, such a machine would spend most of its time idly waiting for instructions and data. To circumvent this problem, many machines, particularly Alan Turing's ACE 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 then place the next instruction for the program at that location.…

Key claims

No claims recorded.

Discussion questions

  1. Summarise the article in your own words. Which single claim would you verify first, and why?
  2. Which claim in this article is most likely to be revised as the sources update? How would you check its current status?
  3. If two sources disagreed about one of these facts, what would you need in order to trust one over the other?

Bibliography

No sources recorded.

Key claims and bibliography are generated from the same tracked claims and sources as the article page.