Course: Introduction to Microprocessors

« Back
Course title Introduction to Microprocessors
Course code KE/ZMTEE
Organizational form of instruction Lecture + Lesson
Level of course not specified
Year of study not specified
Semester Winter and summer
Number of ECTS credits 5
Language of instruction English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Matoušek David, Ing. Bc.
Course content
Numbers in digital logic: Integer and real numbers, fixed and floating point representation, signed integer numbers - two's complement, Sign-and-magnitude, biased representation. Basic terms: computer, microcomputer, CPU, bus. Introduction to semiconductor memories. Instructions. Computer architectures. History of Microprocessors. RISC and CISC philosophy of design of microprocessor. Basic schema of Central Processor Unit (CPU). Instruction. Instruction Set Architecture (ISA) - types of, addressing modes. Instruction cycle. Reset of CPU. Introduction to CPU construction - design of ALU and Control Unit of simple CPU. ISA Atmel AVR - core, instruction set, Introduction to programming in assembly language. Floating point representation of real numbers - principles, IEEE754 standard. Integer and floating point arithmetic. Stack and subroutines. Computer buses - three-state logic, chip select logic, address decoders, basic bus cycles - read and write, multiplexed buses. Peripheral devices. Memory mapped devices. AVR - input/output, timer/counter Interrupt system - basic principles, interrupt handlers (subroutines), latency, priority, nested interrupts memory subsystem of computers - memory hierarchy, cache memories, virtual memory Key to power of modern CPU - pipelining, SIMD, VLIW and superscalar CPU.

Learning activities and teaching methods
Monologic (reading, lecture, briefing), Dialogic (discussion, interview, brainstorming), Methods of individual activities
Learning outcomes
This course provides students with the basic concepts of microcomputers, microprocessor architectures, low and high-level oriented programming of microprocessors and their applications, especially in embedded designs. Practical aspects are demonstrated on 8-bit architecture Atmel AVR.
Be able to apply any microprocessor, self-study of literature provided by manufacturers of microprocessors, assembler oriented programming of RISC microprocessors.
Prerequisites
Programming in any high-level programming language (C/C++, Pascal, Java ...) Basic knowledge of electronic circuits (Ohm's law, principles of semiconductors, transistor as switch ...) Digital logic - basics of combinatory and sequentional logic (Basic logic functions, AND OR NAND etc. gates, Flip-Flops, ...)

Assessment methods and criteria
Oral examination, Home assignment evaluation, Discussion

Student solves several homeworks and one final project during semester. Final project is practical programming problem (about 100 rows of code in assembler language for AVR architecture). Course is finished by oral exam, student must respond to questions from predefined set of topics.
Recommended literature
  • ATMega644, http://www.atmel.com/devices/atmega644.aspx?tab=documents.
  • Novice's Guide to AVR Development, www.atmel.com/dyn/resources/prod_documents/novice.pdf.
  • Arnold K. Embedded Controller Hardware Design, LLH Technology Publishing, 2001. 2001.
  • Matousek. Material for lectures and exercises uploated from STAG.
  • Murdocca M., Heuring V. Principles of computer architecture, Prentice Hall, 1999, ISBN-10: 0201436647. Prentice Hall, 1999. ISBN 10: 0201436647.


Study plans that include the course
Faculty Study plan (Version) Branch of study Category Recommended year of study Recommended semester