I/O systems including networks, disks and graphics devices,
typical data rates for I/O systems.
Vectored and Polled interrupt systems, interrupt operation and
use, maskable and non-maskable interrupts, interrupt
service routines, re-entrant routines.
I/O organisation including mapped and isolated models along with
advantages of the different approaches, I/O progeamming model,
programmed I/O, (un)conditional and interrupt driven data transfer,
Direct Memory Access, parallel and serial buses, sychronous and
asynchronous data transfer.
Number representation, sign and magnitude, one and two's
complement, overflow and underflow, multi-precision arithmetic,
implementation of multiplication and division, fixed and
floating point systems, bias/ excess representation of signed
numbers, IEEE 754 floating point standard, Motorola MC68881 FPU --
a commercial floating point coprocessor and its programming
Instruction sets, stack, accumulator and register based instruction
sets including advantages and disadvantages of different systems,
memory interface, big and little endian word formats,
aligned and misaligned memory access.
Addressing modes, their classification and use with examples
taken from the Motorola 68000 instruction set, instruction
encoding, comparison of instruction usage.
The processor interface, bus timing and processor control,
steps in instruction execution, microprogramming and microcode,
horizontal and vertical microcodes, microcode sequencing,
reducing cycles per instruction, handling interrupts,
interrupt types and their impact on microcode organisation and
Worked example -- designing and building a Motorola 68000
based computer. Demonstrated by running coursework