levo

Software Engineering and Program Construction

Code generation and optimisation

  • 3 things to know
  • AS Unit 1

Overview

Why one high-level statement often becomes many machine instructions, purpose of the optimisation stage and what is meant by removing dead code.

What you need to know

Answer each one before you reveal it.

Your recallNot started
Key term

Explain why one high-level statement often becomes many machine instructions.

Key term

Explain how a multiplication by a power of two can be optimised.

Key term

Why must an optimisation never change the meaning of a program?

Questions from this subtopic

Each one with the model answer underneath.

  1. 1

    What does the code generation stage produce?

    Model answer

    It produces the low-level object code that carries out the actions described by the analysed source program.

  2. 2

    What does code generation take from the symbol table?

    Model answer

    It takes the type and the allocated storage location of each identifier, so the instructions it produces refer to the right addresses and use the right sized operations.

  3. 3

    Explain why one high-level statement often becomes many machine instructions.

    Model answer

    A high-level statement can describe a whole operation such as evaluating an expression and storing it, whereas each machine instruction performs only one very simple step such as a single load, add or store.

  4. 4

    What is the purpose of the optimisation stage?

    Model answer

    It rewrites the generated code so that the program runs faster, or occupies less memory, while producing exactly the same results.

  5. 5

    Explain what is meant by removing dead code.

    Model answer

    Statements that can never be reached, or whose results are never used, are deleted because leaving them out cannot change what the program does.

  6. 6

    Describe an optimisation that can be applied to a calculation inside a loop.

    Model answer

    A calculation whose operands do not change while the loop runs can be moved out and done once before the loop, so it is not repeated on every pass.

Other ways to work this

The same content, four other ways.

What is inside Levo

Six ways to work the same material.

1Closed book
2Open book
3Closed book

See a huge jump in your memorisation

Answer cold, learn it, then prove it stuck. Levo tracks the jump between your first attempt and your last.

Hardware: Architecture, Memory and Storage
Networks and Data Transmission
Logic Gates and Boolean Algebra
Data Representation and Data Types

Cram a whole paper in one sitting

Sort every topic into what you know and what you do not, then drill only the weak ones.

Fetch, , execute.
decodecompilestore

Blank Blitz consolidates the facts

Rapid timed gap-fills on the terms and numbers you need to recall without thinking.

AEncryption is reversible.
BThe stored form could be decrypted.
CA hash cannot be reversed.

Build It trains answer structure

Assemble a full-mark answer from its marking points, in the order an examiner wants them.

A bit is a single binary digit.
TrueFalse

Test It catches misconceptions

Spot the fault in a statement. The traps are the mistakes students actually make.

721941163128510

Brain Breaks between sessions

Short focus games to reset attention, so the next set lands better than the last.

Every question in Software Engineering and Program Construction, on a schedule.

Attempt a question from memory, write the correct version, then attempt it again. Levo records the jump between your first attempt and your last, and brings each question back on the day you are due to forget it.

Or £46 a year, about £3.83 a month. Cancel anytime.