Architecture
Rationale:
This module provides the underpinning knowledge of computer hardware and digital communications required to understand the constraints that computer systems necessarily impose on the development of software applications. These constraints are explored at all levels from the interaction of the major system's components down to the individual logic gates from which the latter are constructed.
Aims:
- To understand how data is represented, stored and manipulated in a digital computer
- To gain a clear insight into the principles of operation of digital computers and the interaction between their hardware and software components
- To be able to make reasoned choices of computer equipment in terms of fitness for purpose
- To understand the principles of digital computer communications and the range of services available
- To develop and maintain an understanding of the rapid rate of change in computer hardware technology
Objectives:
- Demonstrate an understanding of the principles of operation of digital computers
- Critically evaluate the hardware specification of computer equipment and identify its interfacing requirements
- Appreciate the different digital communication services that are available and the principles on which they are based
- Adjust to accommodate the rapidly changing technology through their acquired conceptual framework of underpinning principles
Content:
1 DATA REPRESENTATION
- Number bases
- Binary codes for data e.g. ASCII
- Computer arithmetic
- Error detecting codes
2 DIGITAL LOGIC
- Boolean algebra
- Design of simple combinational logic circuits such as decoders and arithmetic circuits
- Design of simple sequential logic circuits such as registers and counters
- Integrated circuits, relative merits of scales of integration for different applications. Logic arrays, ASICS and full custom VLSI
3 PROCESSOR ORGANISATION
- Structure of CPU at register level
- Relationship to software e.g. operating system, compiler, applications
- Fetch/execute cycle
- Instruction parallelism, concepts of pipelining and superscalar architecture
- Performance considerations
4 MEMORY SYSTEMS
- Memory hierarchy from register to backing store Rationale and principles of cache and virtual memory
5 INPUT/OUTPUT INTERFACING
- Interrupts, software polling, principles and relationship to the operating system
- Direct memory access
- Device interfaces e.g. RS232, monitor
- High performance I/O controllers e.g. disk, graphics
6 COMMUNICATIONS
- Principles of communication Error detection and correction Local and wide area networks
- Communication services and standards
7 HIGH-PERFORMANCE ARCHITECTURES
- Performance metrics e.g. benchmarks, reliability Technology trends, current limits and future directions
- Alternative architectures e.g. neural nets and more speculative ideas such as the quantum computer
|