ArticleslgStudy

computer science

Wheeler Jump

Wheeler Jump is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Wheeler Jump rather than just read about it. In short: The Wheeler Jump is a type of subroutine call methodology that was used on some early computers that lacked hardware support for saving the return address. The concept was developed by David Wheeler while working on the pioneering EDSAC machine in the 1950s.

Key takeaways

  • Wheeler Jump belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Wheeler Jump to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Wheeler Jump from memory before moving on to harder problems.

Reference excerpt

The Wheeler Jump is a type of subroutine call methodology that was used on some early computers that lacked hardware support for saving the return address. The concept was developed by David Wheeler while working on the pioneering EDSAC machine in the 1950s. EDSAC had not been built with subroutines in mind, and lacked a suitable processor register or a hardware stack that might allow the return address to be easily stored. Wheeler's solution was a particular way to write the subroutine code. To implement it, the last line of the subroutine was a "jump to this address" instruction, which would normally be followed by a memory location. In a Wheeler subroutine, this address was normally set to a dummy number, say 0. To call the routine, the address of the caller would be placed in the accumulator and then the code would jump to the starting point of the routine. The first instructions in the routine would calculate the return address based on the value in the accumulator, typically the next memory location so an increment will suffice, and then write the result to the dummy address previously set aside. When the routine runs its course it naturally reaches the end of the routine which now says "jump to the return address". As writing to memory is a slow process compared to register access, this methodology is not particularly fast. It also is not capable of expressing recursion. The addition of new registers for this sort of duty was a key design goal of EDSAC 2.

Example This example demonstrates the technique using a pseudo-assembler language for a simple byte-oriented accumulator-based machine with a single register, A:

'prepare to call the subroutine 10 COPY PC TO A ' copy the program counter (10) into the accumulator 11 JUMP ' jump to... 12 70 ' ... location 70 ... many more lines... 70 ADD CONST ' add the following value to the accumulator... 71 3 ' ... three locations past the original PC value 72 STORE ' store the value in the accumulator to... 73 91 ' ... the set-aside memory location ... lines that perform the actual subroutine... 90 JUMP ' return to... 91 0 ' ... which will be replaced by 13

When this code completes, the JUMP instruction in address 90 will naturally return to location 13, the next instruction after the subroutine.

References

Worked examples

Example 1 — a first encounter with Wheeler Jump

Start with the simplest possible case. Write down what Wheeler Jump claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Wheeler Jump before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Wheeler Jump ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Wheeler Jump

In research
Wheeler Jump appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Wheeler Jump in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Wheeler Jump is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computing stubs, History of computing in the United Kingdom, Subroutines, so understanding it makes those chapters shorter.
In everyday life
Look for Wheeler Jump outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Wheeler Jump in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Wheeler Jump means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Wheeler Jump out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Wheeler Jump in simple terms?

The Wheeler Jump is a type of subroutine call methodology that was used on some early computers that lacked hardware support for saving the return address. The concept was developed by David Wheeler while working on the pioneering EDSAC machine in the 1950s.

Why does Wheeler Jump matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Wheeler Jump?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Wheeler Jump.

Tags

  • Computing stubs
  • History of computing in the United Kingdom
  • Subroutines

Keep exploring