Coronavirus (Covid-19): Latest updates and information
Skip to main content Skip to navigation

CS132 Computer Organisation and Architecture

Throughout the 2020-21 academic year, we will be adapting the way we teach and assess modules in line with government guidance on social distancing and other protective measures in response to Coronavirus. Teaching will vary between online and on-campus delivery through the year, and you should read the additional information linked on the right hand side of this page for details of how we anticipate this will work. The contact hours shown in the module information below are superseded by the additional information. You can find out more about the University’s overall response to Coronavirus at: https://warwick.ac.uk/coronavirus.

CS132-15 Computer Organisation & Architecture

Academic year
20/21
Department
Computer Science
Level
Undergraduate Level 1
Module leader
Matthew Leeke
Credit value
15
Module duration
10 weeks
Assessment
Multiple
Study location
University of Warwick main campus, Coventry
Introductory description

The module focuses on computer system hardware and how it is used to facilitate the execution of software, including topics such as data representation, digital logic, assembler, memory systems, I/O and microprocessor architecture.

Module aims

The aim of the module is to provide students with an understanding of the functional components of a computer system and how they are organised to facilitate execution. Student will also gain a range of practical skills in the application and construction of computer components that are capable of interfacing with microprocessors.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

Data Representation: Analog and digital data; number systems including number representations and conversions; binary variables including logic expressions and simplifications of binary variables; binary arithmetic, signed numbers; arithmetic structures, multiple precision arithmetic, floating point representation and manipulation.
Logic: Logic expressions, logic gates; Boolean algebra, logical expression simplification; combinatorial logic including implementation of adders/subtractors, multiplexers/de-multiplexers, encoders/decoders; sequential logic including implementation of storage elements, registers, shift-registers; bus structures.
Assembler: Microprocessor architecture; instruction cycles, register transfer language (RTL); instruction set and addressing modes; assembly and machine code programming.
Input/Output Mechanisms: Parallel I/O; memory-mapped and programmable I/O devices, eg VIA; I/O scheduling including programmed I/O, interrupt driven I/O, direct memory access (DMA); analog I/O.
Memory systems: Motivation for memory hierarchy; devices including magnetic tape, floppy disks, disk formats, hard disks, optical data storage; elementary error detection and correction.
Processor Architecture: Example combination of ALU, registers, and CPU; instruction set construction; control units including hardwired and microprogrammed control units; performance of microprocessors; RISC/CISC architectures.

Learning outcomes

By the end of the module, students should be able to:

  • Understand the role data representation in facilitating computation
  • Understand the operation of electronic logic elements
  • Understand the organisation of a computer system in terms of its components
  • Understand the detailed operation of a microprocessor
  • Understand the different characteristics of processor architectures
  • Understand mechanisms for input / output
  • Understand the role and operation of the system memory hierarchy
  • Have practical experience of prototyping digital circuits
  • Be able to interface digital circuits to microprocessor systems
Indicative reading list

Please see Talis Aspire link for most up to date list.

View reading list on Talis Aspire

Research element

Students are required to conduct independent research as part of their laboratory work and documentation. In addition, 20-40% of Coursework 1 is based on research and working with academic sources.

Subject specific skills

Systems analysis and design.
Systems-level programming.
Software documentation and maintenance.
Logic circuit design.
Microprocessor interfacing and design.

Transferable skills

Technical - Expertise in the analysis and design, operation of computer system hardware. An understanding of systems programming, including the ability to use a systems programming language, and how to interface with a microprocessor.
Communication - Lecture listening. Technical report writing. Technical document comprehension and analysis. Documenting software solutions.
Critical Thinking - Systems analysis and technical problem solving. Quantitative performance analysis based.
Multitasking - Management of competing deadlines and priorities. Documentation- and test-driven development.
Teamwork - Working as part of a technical team in contributing to the development and documentation of a solution.
Creativity - Developing an original solution to a problem with little guidance on the nature or form of the approach that should be taken.
Leadership - Combining teamwork, critical thinking and technical understanding in the development of a software solution.

Study time

Type Required
Lectures 20 sessions of 1 hour (13%)
Practical classes 9 sessions of 2 hours (12%)
Private study 112 hours (75%)
Total 150 hours
Private study description

Background reading:

Clements A, The Principles of Computer Hardware, Oxford, 2006.
Burrell M, Fundamentals of Computer Architecture, Palgrave Macmillan, 2004.
Tanenbaum AS, Structured Computer Organization, Prentice Hall, 2006.
Müldner T, C for Java Programmers, Addison Wesley, 2000.

Coursework-related activities:

Reading, programming, systems design and project management.

Self-tests:

  • Data Representation
  • Digital Logic
  • Assembler
  • Input / Input Mechanisms
  • Memory Systems
  • Microprocessor Architecture

Revision:

Data Representation: Analog and digital data; number systems including number representations and conversions; binary variables including logic expressions and simplifications of binary variables; binary arithmetic, signed numbers; arithmetic structures, multiple precision arithmetic, floating point representation and manipulation.
Digital Logic: Logic expressions, logic gates; Boolean algebra, logical expression simplification; combinatorial logic including implementation of adders/subtractors, multiplexers/de-multiplexers, encoders/decoders; sequential logic including implementation of storage elements, registers, shift-registers; bus structures.
Assembler: Microprocessor architecture; instruction cycles, register transfer language (RTL); instruction set and addressing modes; assembly and machine code programming.
Input/Output Mechanisms: Parallel I/O; memory-mapped and programmable I/O devices, eg VIA; I/O scheduling including programmed I/O, interrupt driven I/O, direct memory access (DMA); analog I/O.
Memory Systems: Motivation for memory hierarchy; devices including magnetic tape, floppy disks, disk formats, hard disks, optical data storage; elementary error detection and correction.
Processor Architecture: Example combination of ALU, registers, and CPU; instruction set construction; control units including hardwired and microprogrammed control units; performance of microprocessors; RISC/CISC architectures.

Costs

No further costs have been identified for this module.

You do not need to pass all assessment components to pass the module.

Students can register for this module without taking any assessment.

Assessment group D1
Weighting Study time
Coursework 2 - Technical report 25%
Coursework 1 - Problem Sheet 15%
CS132 60%

Exam

~Platforms - AEP

Assessment group R
Weighting Study time
CS132 100%

Resit Exam

~Platforms - AEP

Feedback on assessment

Feedback for coursework via Tabula and in lab sessions.

Past exam papers for CS132

Courses

This module is Core for:

  • Year 1 of UCSA-G400 BSc Computing Systems
  • Year 1 of UCSA-G402 MEng Computing Systems
  • Year 1 of UCSA-G500 Undergraduate Computer Science
  • Year 1 of UCSA-G503 Undergraduate Computer Science MEng
  • Year 1 of UCSA-I1N1 Undergraduate Computer Science with Business Studies
  • Year 1 of UCSA-G406 Undergraduate Computer Systems Engineering
  • Year 1 of UCSA-G408 Undergraduate Computer Systems Engineering

This module is Optional for:

  • Year 1 of UCSA-GN51 Undergraduate Computer and Business Studies

Further Information

Term 1

15 CATS (7.5 ECTS)

Online Material

Additional Information