WJEC A-Level Computer Science 601-5345-3
Hardware: Architecture, Memory and Storage
Networks and Data Transmission
Logic Gates and Boolean Algebra
Data Representation and Data Types
Data Structures
Organisation of Data: Files and Records
Database Systems
The Operating System
Algorithms and Programs
Principles of Programming
Systems Analysis
Software Engineering and Program Construction
Types of Software System
Practical Programming
Data Security and Integrity
Computing, Society and the Law
Advanced Data Structures and Logic
Recursion, Sorting and Searching
Programming Paradigms and Translators
System Design and Human-Computer Interaction
Software Engineering Tools and Professional Practice
Advanced Architecture and Assembly Language
Communication Networks and File Organisation
Number Representation and Floating Point
Databases and Distributed Systems
Operating System Management
Software Systems and Applications
Data Security, Cryptography and Attack
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.
Explain how a multiplication by a power of two can be optimised.
Why must an optimisation never change the meaning of a program?
Questions from this subtopic
Each one with the model answer underneath.
- 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
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
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
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
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
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.
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.