TDT4160
Computer Fundamentals
Autumn
Trondheim
Norwegian
About this 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 outcomes
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.
Teaching methods
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.