Course - Computer Fundamentals - TDT4160
Computer Fundamentals
About
About the course
Course content
The course will contain terminology, principles, and concepts for the construction and operation of different kinds of modern computers and other computer-related equipment.
Principles of how computers (and other digital machines) are constructed from combinatoric and sequential logic logic blocks. Architecture (organization), operation, and realization of computers and computer systems.
Construction of computers on different levels, instruction format, address modes, processor architecture and types. Hardware and software interface, connection of components, interrupts, busses, memory hierarchy, and cache. A short introduction to distributed systems, embedded systems, parallel computers, new technologies, and new applications will be given.
Learning outcome
Knowledge:
- The student should know how computers work and how they are constructed, including the principles of how to obtain high performance.
- The student should understand how a computer's instruction set architecture efficiently realizes the interface between software and hardware.
- The student should understand how simple processors are constructed, including single-cycle, multi-cycle, and pipelined designs as well as be familiar with the principles used when designing high-performance processors.
- The student should understand how to create simple arithmetic-logic units for integers as well as have a basic understanding of floating-point arithmetic.
- The student should understand the principles of how efficient memory systems are constructed, including the use of caches and virtual memory.
- The student should understand the limitations of single-processor computers and how multiprocessors, graphics processing units, and domain-specific accelerators can address these limitations.
Skills:
- The student should be able to write simple programs in an assembly language.
- The student should be able to read block diagrams.
- The student should be able to see how schematics and block diagrams at different levels of abstraction relate to each other.
General competence:
- The student should understand the general operation of a computer and be able to use this knowledge in projects at all abstraction levels.
Learning methods and activities
Lectures and exercises.
The exercises are compulsory and cover both theory and practice. The theoretical exercises cover important concepts in the curriculum, for example, performance calculation, translation from instructions to control words, calculating memory access time, as well as reflecting upon the behavior of the computer. The practical exercises focus on assembly programming in the Ripes simulator.
Compulsory assignments
- Exercises
Further on evaluation
The re-sit examination is held in August, and the examination form may change from written to oral.
Recommended previous knowledge
TDT4100 Object-Oriented Programming, or equivalent knowledge in high level programming.
Course materials
Patterson and Hennessy, Computer Organization and Design RISC-V Edition: The Hardware Software Interface (2nd Edition), Morgan Kaufmann Publishers, 2020, Paperback ISBN: 9780128203316, eBook ISBN: 9780128245583
Credit reductions
| Course code | Reduction | From |
|---|---|---|
| SIF8026 | 7.5 sp | |
| IT2201 | 7.5 sp | Spring 2006 |
| TFE4105 | 3.7 sp | Autumn 2010 |
Other pages about the course
Subject areas
- Informatics
- Technological subjects