Computer Systems

 

Commucating in IT Industry

Computer System

Installing computer hardware

Working in the IT Industry

Spreadsheet modelling

Website development

Installing computer software

Setting up an IT network

Networking Essentials

Event driven Programming

 

 

Aims of the Course

The aim of the course is to develop a fundamental understanding of the organisation and operation of a desktop computer system. The emphasis of the course is on understanding how high-level language programs are represented and executed at an architectural-level. The course also provides an introduction to the organisation and operation of the operating system software that controls the execution of programs and that manages the resources of a computer.

Learning Outcomes

At the end of the course, a student will have an understanding of: the representations used for numbers and text, computer arithmetic, the functions of the components of a CPU, how main memory is organised, the architecture of the Pentium microprocessor, models for input/output. Practical skills will be developed in particular, in developing assembly programs for the Pentium microprocessor.

Pre-requisites None

Outline Syllabus

Introduction: relationship to other courses, levels of abstraction, instruction set level, hardware design level, role of the computer architect. Data representation: binary numbers, arithmetic, octal, hex, base conversion, sign and magnitude, 1's complement and 2's complement, BCD, overflow, characters, ASCII/Unicode. Floating point numbers: conversion, normalisation, arithmetic operations, overflow/underflow representation errors, IEEE standard: format, arithmetic, NANs, Infinity and denormalised values. Memory Organisation: registers, RAM, disks; byte and word addressing; byte ordering, alignment, banks and interleaving. CPU organisation and operation: components of a simple CPU, instructions, machine code, fetch-execute cycle, simple assembly programming.Pentium architecture: programming model, registers, memory models, addressing modes, arrays, records, instructions, expressions, loops, procedures. Input and output: device types and characteristics, controllers, ports, programmed I/O, interrupts, DMA, Pentium interrupt model, traps and exceptions, simple device drivers.Operating Systems Introduction: objectives and functions, layers and views, user interfaces, as a resource manager, processes Process Management: states and representation, creation and termination, processes and threads. Process Scheduling: scheduling and dispatching, algorithms Concurrency and Synchronisation: mutual exclusion, deadlocks, starvation, locks, semaphores, monitors. Memory Management: linking & loading, fixed and dynamic partitioning, fragmentation, virtual memory, paging, segmentation.