Note: I've just migrated to a different physical server to run Spivey's Corner,
with a new architecture, a new operating system, a new version of PHP, and an updated version of MediaWiki.
Please let me know if anything needs adjustment! – Mike

Digital Systems

Copyright © 2017–2023 J. M. Spivey
Revision as of 21:32, 11 March 2020 by Mike (talk | contribs)
Jump to navigation Jump to search

This is a course about how computers work, starting with logic gates and latches, ending with concurrent processes running under a simple operating system, and spending time on machine-level programming in the middle.

  • In Hilary Term, we will study low-level programming with the help of a tiny computer, the BBC micro:bit, which includes an ARM-based microcontroller as its processor. Starting in assembly language and moving on to C, we will learn about the instructions that make up machine code, including arithmetic, branching, memory access, and subroutines. We will also (vitally for embedded systems) learn about controlling I/O devices, such as the buttons and lights on the micro:bit and the serial interface that allows it to talk to a host computer. Once a program reaches a certain degree of complexity, it is no longer sufficient to wait in a tight loop for an event to happen, and we will study the hardware and software aspects of solutions to this problem: using interrupts to respond to external events, and an operating system to structure the program as a family of concurrent processes, each responsible for one part of the task.
The micro:bit (or electronic teabag[1])
  • In Trinity Term, we will study the elements of computer hardware, building up from gates and latches to architectural elements such as registers, adders and decoders, and finally a paper model of a processor able to execute a selection of ARM instructions, supported by an architectural simulator.

Timetable

Hilary Term

Lectures
Tuesday in LTA and Friday in LTB at 12:00, weeks 1–8. Not recorded!
Practicals
Wednesday 10:00 to 12:00 in the Thom Building Lab, unofficially in weeks 2–3, officially in weeks 4–8.
Tutorials
In college, four problem sheets this term.

Here is the plan in the event that the planned strike takes place and runs its full term:

Monday Tuesday Wednesday Thursday Friday
Week 5 Lecture Lab Strike Strike
Week 6 Strike Strike Lab / Strike Lecture
Week 7 Strike Strike Lab / Strike Strike Lecture
Week 8 Strike Strike Lab / Strike Strike Strike

Trinity Term

Lectures
TBA, weeks 1–4, Location TBA.
Practicals
None, but some utterly optional materials are provided.
Tutorials
Two more problem sheets.

Resources

Information about the course is provided on several other pages.

Miscellaneous

Links



  1. So called because the board dangles from its USB cable like a teabag dangling from its string.