GPA Guarantee: Score A+ under Finals

Lecture Transcription |LMS sync |Live Tutor Q&A
50% OFFAll plan

ELEC1601 Cheatsheet · Introduction to Computer Systems

University of Sydney · Cheatsheet for the final exam. Semester 2 formal examination period, from 16 November 2026 (the Exams Office publishes the exact date). Full ELEC1601 study guide →

A4 landscape · two-side revision sheet · 6 columns per side · ink + yellowELEC1601 · S2 2026 · v2
ELEC1601
Introduction to Computer Systems
School of Electrical and Computer Engineering · USyd · EXAM REVISION SHEET
ELEC1601 cheatsheet QR code – open the full ELEC1601 study guide
Full guide + ask Sia about ELEC1601
SIDE 1/2   DEFINITIONS · FORMULAS · DECISION RULES · MACHINE-STATE CHECKSSemester 2 · 2026v2 · 2026-10-25

0 · Exam Mapcourse.json · brief

FQ 20XQ 10Lab 15Att 0EP 10XP 5AP 5FINAL 35

Permitted materials: not confirmed for this offering in the course materials we hold — check the exam instructions on the LMS.

AssessmentWtControl
Fundamentals Quizzes20%4 in-person · hurdle
Extension Quizzes10%3 in-person
Essential Lab Completion15%group + individual explanation · hurdle
Laboratory Attendance0%participation · hurdle
Essential / Extension / Advanced Project10 / 5 / 5%Essential is hurdle
Final exam35%2-hour written · AI prohibited · hurdle

The mandatory section uses multiple-choice questions based on in-semester tests; the advanced section carries a threshold for extra marks. All essential assessments must be passed, and lab participation is compulsory, to pass.

representbitstracestateconnecthardwaretestlimits
Course-wide answer route: represent → trace → connect → test.
objectbeforeoperationor rulestateafternextcontrol
Source-derived state control: every arrow must be a checkable transition.

1 · State-Trace MethodC1 · overview

Program state is the complete set of variable, register, memory, flag and control-position values at one instant. Record only state that can be read, changed or depended upon.

StepWriteCheck
Beforewidth/representation; PC/control point; registers; relevant memory; flagspreconditions explicit?
Executeinstruction/operation and operandswhat is read; what is written?
Afternew register, memory, flag and control statenext branch/call/iteration?
Testordinary · boundary · invalidone rule isolated?
Exam check Explain why the result follows. A correct output without the state transition is not a complete machine-level explanation.

2 · Binary, Hex & SignedC3 · glossary/faq

Positional binary: each bit contributes a power of two. Hexadecimal: one digit 0–9/A–F compactly represents four bits. Preserve the fixed width while converting.

representation rulebit pattern + width + interpretation → machine meaning
negative two's-complement: invert every bit, then add one

widthmeaninggroup bitsin fourshex ↔ binarysame bitssign+ overflow
Source-derived conversion route: never detach bits from width and representation.
Question cueDoSay
binary ↔ hexkeep leading zeros; group into nibblessame pattern, new notation
negative integerwrite positive at stated width → invert → +1two's-complement interpretation
same bits, two valuesapply signed and unsigned interpretations separatelybits did not change
overflowtrace the fixed-width operationstate width before judgement

A bit pattern has no signed or unsigned meaning until the representation and width are specified.

For a full-credit conversion, label the source representation, keep leading zeros required by the width, show the intermediate pattern, then label the target notation and interpretation. To test overflow, inspect the result at the same fixed width; do not silently expand the representation or discard a carry without stating what the chosen width does.

fixed-width bitsunsigned?positional valuesigned?two's complement
Same stored pattern; interpretation selects the value.

2b · Signed-Byte Checkcourse worked example

+18 = 00010010
invert = 11101101
add 1 = 11101110 = 0xEE
signed: −18 · unsigned: 238

3 · Fixed vs Floating PointC4 · glossary/faq

RepresentationStructureWhat to check
Fixed-pointinteger pattern + agreed scale locating the radix pointresolution, rounding, representable limits
Floating-pointsign + exponent + significandfield meaning, precision spacing, range

fixed-point meaningrepresented value = stored integer pattern interpreted with the agreed fixed scale

floating-point reading ordersign → exponent → significand → represented magnitude

chooseformatencodefieldscheckroundingtest range+ compare
Source-derived encoding route: format choice controls later checks.

Decision rules

  • If the task fixes a radix-point position, treat the pattern as fixed-point and keep the scale visible throughout.
  • If the task separates sign, exponent and significand, decode those floating-point fields before comparing values.
  • If the task asks “more range?”, do not infer “more precision”. These are different properties.
  • If a decimal appears, allow for the fact that it may not have an exact finite binary encoding.
Exam check More range does not guarantee more precision. State the representation consequence—rounding, overflow or comparison—not merely the field names.
closer spacing → finer precisionwider endpoints → greater range
Precision concerns spacing; range concerns reachable magnitudes.

3b · Encoding Answer FrameC4 · worked method

  1. Fix the value, width and chosen representation.
  2. Write the scale or the sign/exponent/significand field roles.
  3. Carry the encoding through without changing conventions.

4 · AVR Instruction TraceC5 · glossary/faq

Mnemonic names the operation; register operands are the locations read or written; status flags record conditions such as zero, carry, negative or overflow.

mnemonicoperationoperandsread/writeresultstateflagsnext flow
Source-derived AVR trace: operation → operands → result → flags/control.
Trace columnQuestion it answers
PC / controlwhich instruction executes next?
mnemonicwhat operation is named?
source operandswhich registers/locations are read?
destinationwhich register/location changes?
flagswhat arithmetic condition is now recorded?

An assembly sequence is correct only under the stated register contents, data width and calling assumptions.

5 · CPU & Memory CycleC6 · topic/faq

program memoryfetchinstructiondecodeoperandsexecutedatapathstate: regs · memory · flags · control
Source-derived architecture link: encoding reaches visible state through fetch/decode/execute.
ObjectRoleDo not confuse
CPU datapathmoves/transforms data during executionnot the whole processor design
register filefast operands, addresses, intermediate valuesnot general data memory
program memoryexecutable instructionsnot mutable program data
data memorymutable valuesnot instruction encoding
instruction encodingsupplies operation and operand information for fetch/decodenot the visible result
visible machine stateregister, memory, flag and control changes after executionnot unstated timing detail
Limit A simplified architecture diagram omits timing and implementation detail; use it to explain state, not as a complete processor design.

6 · Addressing ModesC7 · glossary/faq

Byte address identifies one byte-sized storage unit. Pointer register stores an address used for indirect access and may be updated.

pointerregisterbyteaddressstoredvalueholdsselectsis read/writtenthree different objects
Source-derived object map: pointer ≠ address ≠ value at that address.
ModeLocation comes fromTrace
directlocation named explicitlynamed address → value
indirectpointer registerpointer value → address → value
indirect + updatepointer register, then modifiedaccessed location and pointer after access

address tracepointer before → effective byte address → value read/written → pointer after

Never write “the pointer contains the data” when it contains the address. A later access may change solely because the pointer changed.

7 · Runtime StackC8 · glossary/faq

stack pointer: top boundaryreturn informationsaved statelocal storageactivation record for one call
Source-derived stack model: one call's return information, saved state and locals.
EventProve
pushvalue stored and stack pointer moves under the stated AVR convention
popvalue retrieved and matching pointer change
nested calleach activation record and return information remain distinct
returncaller state and continuation are recovered

Join the memory and stack traces: record the byte address touched, the value stored or retrieved, the stack pointer before and after, the activation record owning that slot, and the control position restored on return. If any one is missing, later nested-call state cannot be proved.

Limit Stack growth direction and exact call behaviour are architecture-specific; follow the course's AVR convention.

8 · Calls & ConventionsC9 · glossary/faq

caller setsargumentscall savescontinuationcalleeexecutespreserveassigned statereturn result+ control
Source-derived call contract: arguments, continuation, preservation, result.
ResponsibilityQuestion
parameter passingwhich inputs or addresses cross the interface?
caller-savedwhat must the caller preserve before calling?
callee-savedwhat must the subroutine restore before returning?
resultwhere is the output and who may overwrite it?

A function can return the right sample result yet violate the calling convention and corrupt later execution.

9 · Branches & LoopsC10 · glossary/faq

compare /arithmeticfreshflagsbranchdecisionbody keepsinvariantprogress totermination
Source-derived loop proof: relevant flags drive branch; invariant + progress establish correctness.

operation/comparison → condition flags → branch instruction → body update → re-test

A loop invariant remains true before and after every iteration. Show it initially, show the body preserves it, then connect loop exit to the required result and boundary behaviour.

Interpret a branch only from flags produced by the immediately relevant comparison or arithmetic operation.

10 · Polling & InterruptsC2 glossary/faq

If the cue is…Trace thisBoundary
polling loopread status → branch → repeat/servicesoftware repeatedly checks
interrupt responseevent → handler → shared state → resumetiming/handler duties controlled
Remember An interrupt improves responsiveness only when shared state, timing and handler responsibilities are controlled.
https://www.asksia.ai/cheatsheet/usyd-elec1601 · Full ELEC1601 study guide →
Forward this to your tutorial group · Shared by
AskSiav2 · 2026-10-25
Semester 2 formal examination period, from 16 November 2026 (the Exams Office publishes the exact date).
Check your exam instructions on the LMS for what you may bring; use this sheet to revise and self-test.
ELEC1601
Self-Test Drills · Answer Paths · Classic Traps
Introduction to Computer Systems · USyd · EXAM REVISION SHEET
ELEC1601 cheatsheet QR code – open the full ELEC1601 study guide
Full guide + ask Sia about ELEC1601
SIDE 2/2   FIVE WORKED DRILLS · IF-X-THEN-Y CARDS · FAST RECALL · EXAM-MORNING PLANSelf-test before reading answersv2 · 2026-10-25

11 · Method Choosertopic maps · faq

what object changes?bits /encodingregister /flagsmemory /controlconverttrace inst.addr/call/loopfinish with boundary + failure case
Source-derived chooser: identify the changing object before choosing a method.
If you see…Do this
bit patternstate width + representation; convert without dropping bits
fixed/float valuestate scale or fields; check precision/range
assembly sequencetrace operands, destination, flags and next control
pointer/addressseparate pointer, address and stored value
call/returntrack arguments, saved state, result, return information
branch/loopfind producing flags; show invariant and termination
input eventchoose polling or interrupt trace; expose shared state/timing

12 · Worked 1 · Signed Bytecourse worked · 4 marks

Q. Represent −18 as an 8-bit two's-complement value, convert it to hexadecimal and explain why the same bits can mean 238.

+1800010010invert11101101+111101110group0xEEsame bitssigned −18 · unsigned 238
Complete number path from the source example; every intermediate pattern retained.
  1. 1: +18 = 00010010.
  2. 1: invert → 11101101; add one → 11101110.
  3. 1: group nibbles → 1110 1110 = 0xEE.
  4. 1: signed 8-bit meaning = −18; unsigned meaning = 238.

Self-mark: award nothing for a bare 0xEE if the width, inversion, addition and signed/unsigned interpretation are absent. Cover the answer, reproduce all three patterns, then explain in one sentence how identical bits support two meanings.

Trap Do not attach signed meaning until width and representation are explicit.

13 · Worked 2 · Polling / InterruptC2 worked · 4 marks

Task. Trace when a microcontroller reads an input and changes an output under polling and interrupt designs.

POLLINGread statusready?service / repeatINTERRUPTevent occurshandler runsupdate + resume
Source-derived comparison: repeated software check versus event-triggered handler.
  1. 1: mark the complete program state before input service.
  2. 1: polling: show read, decision, repeat/service; interrupt: show event, handler entry and responsibilities.
  3. 1: trace shared-state and output changes, then the next control position.
  4. 1: qualify: improved responsiveness depends on controlled shared state, timing and handler duties.
Trace rowPollingInterrupt
triggersoftware checkhardware event
between eventsloop keeps checkingother work may run
proof burdenread/branch/repeatentry/shared state/resume

13b · State-Trace Drill CardC1 · C2

StepPC/controlregistersmemoryflags/output
before________________
read________________
decide________________
service________________
after________________

Before executing, predict the output for ordinary, boundary and invalid inputs. Change one condition at a time; otherwise the failed rule cannot be localised. For an interrupt trace, identify which state is shared, who may change it, what the handler must finish, and where normal execution resumes. For polling, show the repeated read and the exact decision that exits or services the loop.

retrievetransfercounter-caserevise
Practice loop: retrieve → transfer → counter-case → revise.
Fix Define program state before service: variables, registers, memory, flags and control position. In polling, name the repeated check; in interrupts, name handler entry, shared-state change and the resume point.

14 · Worked 3 · AVR TraceC5 worked · 4 marks

Task. Translate a small operation into AVR instructions and trace each register and flag change.

  1. 1: name the required operation and starting register contents.
  2. 1: state each mnemonic and which register operands it reads/writes.
  3. 1: after every instruction, record changed registers and status flags.
  4. 1: state the next control action; retain width and calling assumptions.
stepinstructionregistersflags/next0initialgivengiven1mnemonicold→newflags…nextchangesnext PC
Source-derived answer grid: never skip the initial state or flag-producing step.
Trap A familiar mnemonic does not prove correctness. Match its operation, operands, width, flags and calling assumptions to the task.

14b · Architecture DrillC6 worked

encodingin programfetch +decodedatapathexecutesvisiblestate
Source-derived path for connecting instruction encoding to machine state.
PromptAnswer move
“where is instruction?”program memory
“where are operands?”register file and/or data memory, as stated
“what transforms them?”CPU datapath during execute
“what can we observe?”register, memory, flag and control changes

Boundary: the diagram is a reasoning aid; it omits timing and implementation detail.

Worked check Start from given register contents and width. For each instruction, write its operation, operands read/written, resulting register state and new zero, carry, negative or overflow flag. Then state next control. If a row fails, repair the first unsupported transition; never infer later state from a familiar mnemonic.

15 · Worked 4 · Address / StackC7–C8 worked · 4 marks

Task. Calculate an accessed location, show pointer updates, then trace nested-call stack state and return information.

P beforeaddressM[address]read/writeP afterrecord all five—even unchanged
Source-derived address calculation: pointer before and after bracket the access.
  1. 1: define the pointer register and the byte address it holds.
  2. 1: distinguish direct location naming from indirect pointer use.
  3. 1: state effective address, value read/written and pointer after.
  4. 1: qualify: pointer, address and stored value are different objects.
caller framereturn to callercallee framesaved state/localsreturn restores caller state + control
Source-derived nested-call check: frames and return information must not blur together.

SP before → call/push effect → callee frame → nested effect → return/pop effect → SP after

15b · Stack / Call TrapsC8–C9 faq

Tempting claimRepair
“stack always grows this way”state the AVR convention used
“result correct, function correct”also prove preserved state and return
“pop undoes any push”match order, value and pointer state
“address equals contents”write pointer → address → value

15c · Representation TrapsC3–C6 limits

TrapRepair sentence
bits “are negative”At the stated width, under two's-complement interpretation…
hex changed the valueHex is compact notation for the same grouped bits.
range = precisionRange controls magnitudes; precision controls spacing.
mnemonic alone proves resultTrace operands, destination and flags from stated contents.
diagram is complete CPUIt omits timing and implementation detail.

16 · Worked 5 · Branch / CompilerC10–C11 worked · 4 marks

Task. Relate a structured loop or C-level construct to AVR assembly and justify an optimisation safely.

sourcemeaningassemblytranslationmachinestatesame observable behaviourfor required inputs/assumptions?
Source-derived optimisation test: compare behaviour, not surface instruction count.
  1. 1: define the source construct's required observable behaviour.
  2. 1: map operations and control structures to assembly instructions.
  3. 1: trace registers, memory, flags and branches through normal and boundary cases.
  4. 1: accept the change only if behaviour remains equivalent under the stated assumptions.
LOOP PROOF1 · initial state establishes invariant2 · body preserves invariant3 · update makes progress toward exit4 · exit + invariant implies required result
Source-derived loop proof: invariant and progress are separate obligations.

Shorter is not automatically correct or faster. Different instruction sequences may be semantically equivalent; show the conditions under which they are.

16b · Branch Judgement CardsC10 faq

If you see XDo Y
branch mnemonicname the flag condition and its producer
loop boundarytrace zero/one/final iteration behaviour
non-terminationinspect update, branch polarity and progress
optimised loopcompare observable state on same cases

16c · Sensor–Actuator LinkC12 glossary

samplesensorcomputeresponsedriveactuatorrecordevidence
Source-derived control cycle: observable action must connect back to bit- and instruction-level state.

17 · Classic Control Trapschapter limits

TrapRepair sentence
pointer = valueThe register holds an address; memory at that address holds the value.
sample output proves callAlso prove calling-convention preservation and return.
branch read in isolationUse flags from the immediately relevant operation.
shorter = optimisedFirst prove equivalent observable behaviour.
interrupt always betterOnly when shared state, timing and handler duties are controlled.

18 · Fast Recallcourse glossary

TermRecite
AVR assemblysymbolic mnemonics encoding AVR operations
computer architectureprogrammer-visible instruction set, registers, memory model, data paths
stack pointerregister identifying current top boundary of runtime stack
subroutinereusable sequence entered by call, completed by return
activation recordone call's saved state, locals and return information
loop invariantproperty true before and after every iteration
explainable evidencetrace, test and design records that justify system behaviour
verifyobjectstatemechanismtestboundaryanswertask
Source-derived final review control: object → mechanism → boundary → requested conclusion.

19 · Exam-Morning Plancourse strategy · brief

  1. Retrieve: say the definitions of width/representation, state, pointer, stack pointer, flags, invariant and semantic equivalence without notes.
  2. Trace: complete one blank table across bits → instruction → register/memory/flags → control flow.
  3. Transfer: change one condition and predict the new state before checking.
  4. Counter-case: test ordinary, boundary and invalid inputs; repair the first failed reasoning move.
  5. Verify operations: check the current LMS instructions and exact timetable published by the Exams Office.

answer rhythmdefine object → state rule → show transition → name visible consequence → state boundary

https://www.asksia.ai/cheatsheet/usyd-elec1601 · Full ELEC1601 study guide →
Forward this to your tutorial group · Shared by
AskSiav2 · 2026-10-25
Semester 2 formal examination period, from 16 November 2026 (the Exams Office publishes the exact date).
Check your exam instructions on the LMS for what you may bring; use this sheet to revise and self-test.

Want one for YOUR exact syllabus?

Sia is your free desktop study agent. Drop your University of Sydney ELEC1601 slides — Sia builds a sheet tailored to YOUR exam. Better than this library because it knows YOUR materials.

↓ Download Sia · Free