- 
         
            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
            interface.
          
- 
         
            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
            execution, nanocode.
          
- 
         
            Worked example -- designing and building a Motorola 68000
            based computer. Demonstrated by running coursework
            sample solutions.