Main Publications Course

IAS0430 - Microprocessor Systems


This course aims to give the general knowledge about working principles and applications of microprocessor design. To introduce the basics of computer and microprocessor architecture. To understand how microprocessors interaction with peripherals. To understand the structure and management of memory hierarchies and how data is propagated through a microprocessor system. To learn how processes are executed and managed.

In this course, we will explore the basic theoretical knowledge of Computer Architecture focusing on the design of Microprocessors. We will explore the building blocks of the CPU, the design and implementation of the Instruction Set Architecture (ISA), and the computer memory hierarchy. Topics will also include computer architecture design decisions that are related to the CPU kernel/user modes, overview of Operating Systems design, process and job management, and computer arithmetic.

Students are expected to know the basics of Logical Expressions and Logical Gates. Students are expected to have some knowledge of combinational and sequancial circuits and their fuctions and uses.



Recommended readings:
 ↝ David A. Patterson and John L. Hennessy. 1990. Computer architecture: a quantitative approach.
 ↝ Jivan S. Parab, et al. 2008. Practical Aspects of Embedded System Design using Microcontrollers.

For more information regarding this course, please see the links below:

           → TalTech Moodle Page

           → Student Information System (ÕIS)



The topics of this course includes but are not limited to:
  1. A quick recap on logic expressions and logic gates.
  2. The design and components of the CPU.
  3. Design of Instruction Set Architecture.
  4. Kernel and User Modes.
  5. Operating Systems.
  6. Memory hierarchy and management.
  7. Process and Job management.
  8. Computer Arithmetic and Arithmetic in Hardware.


By finishing this course, students will be able to:
  1. Understand the design and architecture of the CPU as well as the functionalities of the different CPU components.
  2. Understand the design decisions of creating an ISA.
  3. Differentiate between kernel and user modes and understand their properties.
  4. Understand the different components of the Operating System as well as differentiate between the different OSs used today.
  5. Understand the computer memory hierarchy and the different design decisions and management methods and techniques.
  6. Understand how processes and jobs are managed and executed.
  7. Understand how computers execute arithmetic operations and how these operations are implemented in hardware.
  8. Understand how the processer can execute many operations at the same time using Very Long Instruction Words (VLIWs)