by
Keld Helsgaun
1. Purpose
The purpose of this course is to provide you with a basic understanding of how computers do what they do. By studying the fundamental organizing principles of computer systems, you are better able to understand, design, and implement complex systems. Upon successful completion of this course, the computer will no longer seem a “black box” to you.
2. Aim
At the completion of the course, you will be able to:
3. Contents
The course provides knowledge of computer organization and architecture. Fundamentals of computer networking and data communication will also be provided. The main objectives of this course are the understanding of the major components of a computer system, how these components are interrelated, and their characteristics that affect system performance. The topics covered include computer organization and architecture, data representation, digital logic, assembly language programming, memory systems, input/output systems, system software, network protocols, and network organization.
4. Form
Lectures and exercises.
5. Assessment
30 minutes oral examination with three days of preparation time. Grade: 7-steps scale.
6. Evaluation
7. Textbook
Linda Null and Julia Lobur,
The Essentials of Computer Organization and Architecture (Second Edition).
Jones & Bartlett, 2006.
8. Prerequisites
This course requires some programming skills, such as having passed courses in introductory programming, data structures and algorithms, and one programming project.
9. Schedule of lectures (right to changes reserved)
(2/8) Introduction (Chapter 1)
Historical development of computers. The von Neumann model.
(2/15) Data Representation in Computer Systems (Chapter 2)
Integer, floating-point and character representation. Error detection and correction.
(2/22) Boolean Algebra and Digital Logic (Chapter 3)
Logic gates. Combinatorial and sequential circuits.
(3/1) MARIE: An Introduction to a Simple Computer I (Chapter 4)
CPU basics and organization. Discussion of assemblers.
(3/8) MARIE: An Introduction to a Simple Computer II (Chapter 4)
Discussion of decoding. Real-World Examples of Computer Architectures.
(3/15) A Closer Look at Instruction Set Architecture (Chapter 5)
Instruction formats. Instruction types. Addressing. Real-World examples of ISAs.
(3/22) Memory and Input/Output (Chapter 6 and 7.1-5)
Cache memory. Virtual memory. I/O architectures. Data transmission modes.
(3/29) System Software (Chapter 8) Alternative Architectures (Chapter 9)
Operating systems. Assemblers, link editors, compilers and interpreters.
Flynn's taxonomy. Parallel and multiprocessor architectures.
(4/12)Network Organization and Architecture I (Chapter 12.1-5)
ISO/OSI protocol unification. TCP/IP network architecture.
(4/19) Network Organization and Architecture II (Chapter 12.6)
Network organization.