Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 1.68 KB

File metadata and controls

26 lines (19 loc) · 1.68 KB

Computer-Hardware-Engineering-IS1200

Content and learning outcomes

Course contents

The course gives fundamental knowledge of computer organization, both from a hardware and software perspective. The course is organized in six modules that include, among other things, the following concepts and terms:

C and Assembly Programming: pointers, functions, stack, assembly language, machine language, instruction coding, and processor registers. Input/Output Systems: timers, interrupts, and memory mapped input/output. Digital Design: truth tables, gates, Boolean algebra, multiplexer, decoder, adder, combinational logic, sequential logic, and registers. Processor Design: arithmetic logic unit, datapath, control unit, and pipeline. Memory Hierarchy: instruction cache, data cache, and virtual memory. Parallel Processors and Programs: Amdahl’s law, various kinds of parallelism, and multicore. Note that module 3 is recommended prerequisites for the course and will not be covered in lectures or laboratory exercises. However, the course material for module 3 will be available on the course web page because the knowledge of this module is prerequisite for module 4.

Intended learning outcomes

After the course, the student will be able to:

Implement low-level programs in the C programing language and in an assembly language. Analyze processor microarchitectures, with and without a pipeline. Explain the principles of memory hierarchies, including cache structures. Implement low-level programs with input-output, timers, and interrupts. Explain the principles of multiprocessor computers and how they can be programmed. Explain and describe technical solutions, both orally and in writing.