Course 372
Microprocessor Systems 1 (3D1)
Concurrent Systems (3D3)
3D1 Microprocessor Systems 1
Lecturer: Mike Brady
Date: 1995-96
Groups: Optional JS & SS Mathematics,
SS Two-subject Moderatorship
Prerequisites: 262
Duration: 11 weeks
Lectures Per Week: 3 and a 2 hour practical
Assessment: Programming exercises.
Exams: One 3-hour examination at the end of January.
Description:
This course runs for the first semester in the Junior Sophister Year.
The aim of the course is to introduce students to those aspects of a
computer system that are normally hidden by programs, in other words, the
aim of the course is to familiarise students with the basic properties of
a bare computer.
These basic properties include the layout of the computer (its 'architecture');
the language implemented by the computer (machine language); the resources
available to a program (memory, input/output devices, etc.).
Emphasis is placed on programming, so that students use their knowledge of the
computer system in constructing working programs.
Currently, the computer used is based on the Motorola MC68000 microprocessor.
Syllabus:
- Introduction to Unix and Editors.
- The evolution of the Microprocessor:
- Brief (re)view of the standard layout of a computer system.
- Review of Binary & Hexadecimal Arithmetic.
- Introduction to programming:
- Programmer's Model of 68000
- Simple Instructions:
- operations
- operand specification
- condition codes
- Examples
- Interfaces with outside world:
- I/O Programming Techniques
- Sample Programs
- Advanced features of the 68000:
- Status Register
- Supervisor & User Modes
- Instructions
- Exceptions and Exception Handling
- Advanced I/O techniques.
- Hardware:
- Bus System Operation
- Bus Arbitration
Books:
3D3 Concurrent Systems
Lecturer: Professor Neville Harris
Date: 1995-96
Groups: Optional JS & SS Mathematics,
SS Two-subject Moderatorship
Prerequisites: 262
Duration: 11 weeks
Number of hours lectures/tutorials: 33 hours lectures, 11 hours
tutorials and 5 lab classes.
Syllabus
- System structure and dynamic execution: modules, abstract data types,
objects, process concept, operating system functions and structure.
- Device management: Processor and device speeds, polling and interrupts
exceptions. User level input/output, buffers and synchronisation.
- Memory management: process address space, relocation and protection,
segmentation paging.
- File management: file and directory structure, filing system interface,
filing system implementation.
- Process management: processes and processors, process state, events.
Process scheduling.
- Low level mechanisms for process synchronisation: mutual exclusion,
use of semaphores, implementation, multiple readers and single writer problem.
- Language primitives for shared memory: critical regions, monitors and
their use.
Books:
Jean Bacon, Concurrent Systems: An integrated approach to Operating
Systems Database and Distributed Systems, Addison Wesley 1993 (Counter
Reserve Hamilton 500.164 N295;6, Hamilton Library SLEN 500.164 N295 (6 copies)
Stacks PL-200-725.)