Welcome!

This is the externally accessible web-page for COMS10015: Computer Architecture, a unit operated by the School of Computer Science, University of Bristol (UoB). Quoting the catalogue entry, the remit of this unit can be summarised as follows:

[…] this unit delivers an introduction to computer architecture: the focus is on bridging the gap between high-level programming languages and the hardware (e.g., micro-processors) on which associated programs execute. The unit content can be described as three main topics, which gradually build from lower to higher level concepts:

  1. From Mathematics and Physics to digital logic:
    • Boolean algebra; integer representation and arithmetic,
    • physical design of logic components (e.g., logic gates from transistors),
    • use of combinatorial logic components (e.g., Karnaugh maps),
    • use of sequential logic components (e.g., state machines).
  2. From digital logic to computer processors:
    • processor paradigms: counter, accumulator, stack, and register machines; von Neumann vs. Harvard architecture; RISC vs. CISC,
    • memory paradigms: von Neumann bottleneck, memory hierarchy; cache memories,
    • instruction set design: instruction classes; addressing modes; instruction encoding and decoding,
    • processor design: buses; control and data paths; ALU; microcoded vs. hardwired control; fetch-decode-execute cycle.
  3. From computer processors to software applications:
    • development tools: assembly language; assembly and linkage processes; debuggers,
    • support for structured programming (e.g., function calls),
    • support for operating systems (e.g., interrupts, protection).

Note that

  • An associated GitHub-based repo. houses the source code for this web-site, plus various other resources which might be useful.
  • Although this external-facing web-site hosts as much static content as possible, the unit cannot and so is not entirely “Blackboard-free”. Selected internal-facing, dynamic content is only accessible via other means: important examples include

    1. unit-wide communication, e.g., announcements (Blackboard),
    2. assessment submission, marks, and feedback (Blackboard),
    3. discussion forum (Teams).

Contact Us