Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Microprocessors

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BE2M37MAM Z,ZK 6 2P+2L English
Relations:
During a review of study plans, the course B2M37MAM can be substituted for the course BE2M37MAM.
It is not possible to register for the course BE2M37MAM if the student is concurrently registered for or has already completed the course B2M37MAM (mutually exclusive courses).
In order to register for the course BE2M37MAM, the student must have registered for the required number of courses in the group BEZBM no later than in the same semester.
The requirement for course BE2M37MAM can be fulfilled by substitution with the course B2M37MAM.
It is not possible to register for the course BE2M37MAM if the student is concurrently registered for or has previously completed the course B2M37MAM (mutually exclusive courses).
Course guarantor:
Stanislav Vítek
Lecturer:
Stanislav Vítek
Tutor:
Stanislav Vítek
Supervisor:
Department of Radioelectronics
Synopsis:

The aim is to make students acquainted with the properties of microprocessor systems, make students familiar with on-chip peripherals, connect external circuit to the processor bus, and with implementation of the memory or I/O space address extension. Next, taught the students to make simple program in the assembly language, C language and combination of both. After completion of this subject student should be able to design and implement simpler microprocessor system including connection of necessary peripherals and software design.

Requirements:

Assume student will be able to implement combinatory circuit in different modifications and with different logic elements, multiplexers, memories and PLD and calculate its time delay. Student will be able to design and analyze logic of the sequential circuit and find its maximum clock frequency. He / she will know the timing of memories, function of basic sequential circuits, counters and shift registers.

Syllabus of lectures:

1. Circuit controller and its transformation to programmable controller, the emergence of the address register, the program counters and register of the microprogramming (the stack). The difference between programmable controller and the microprocessor.

2. The algorithm of the microprocessor, the communication with the memory and peripherals. Architecture of microprocessor system, memory configuration, busses, arithmetic logic unit, interrupts.

3. The structure of the microprocessor system and its distribution of processors. Architecture of General purpose processors, DSP (including VLIW) and single chip microcomputers. The arrangement of memory address spaces, the effect of the width of the instruction and data bus.

4. Used memory (volatile and non-volatile, dynamic memory and their timings and properties. Access and its limitations in the processor with two or four phases. Multi-channel memory access.5. The programming of the processor, machine code, assembler, assembler with arithmetic library, compiled languages (C language, etc), interpreted cross-platform languages.

6. The phase of the processing instruction, the increase of computational power of processors, the pipeline, the performance of the processor, cache. Principles of SISD, SIMD, MIMD. The architecture of super scalar. Decomposition into microinstruction.

7. Address and I/O space of the processor, connection of the memory, timing, switching, run-time reconfiguration, attachment of the memory, exceeding direct address space of the processor.

8. Connection of external peripherals, extension of the I/O space by parallel and series circuit, connection of keyboards and displays

9. On-chip peripherals of single chip microprocessors and DSP (counters, timers, watchdog, compare, select and store unit, PCA, PWM, A/D and D/A converters)

10. Instrument bus (SPI, I2C, MicroWire, 1-Wire)

11. Communication bus RS422, RS485, multiprocessor communication

12. Synchronous and asynchronous series interfaces RS232, USB, IEEE-1394, PCI-E

13. Development tools (monitor, RTOS, multitasking), real time programming, state and event. Interrupt system, systems with large number of interrupts.

14. Synchronization of processes and threads, parallelization for processors with a larger number of ALU (software pipeline). Prediction of jumps and loops, speculative execution, power management, dynamic frequency control, the switching cores.

Syllabus of tutorials:

1. Agenda, introduction in development environment, development kit, possibilities of program development.

2. Machine code characteristics, operand addressing.

3. Assembly language notation, debugging of simple program in software simulator.

4. Developing of the program generating waveforms, program verification, displaying of generated waveforms in simulator.

5. Introduction in development board concept, implementation of the program simulated on 4th seminar on the board (initializing of developing board).

6. Matlab design of the 1st individual task and in simulator of given processor.

7. Implementation of the 1st individual task on development board.

8. Matlab design of the 2nd individual task and in simulator of given processor.

9. Implementation of the 2nd individual task on development board and verification of functionality.

10. Design of 3rd independent task, characteristic verification.

11. 3rd independent task - analysis.

12. Implementation of the 3rd independent task.

13. Presentation of the semestral project.

14. Completion of independent tasks.

Study Objective:

The aim is to make students acquainted with the properties of microprocessor systems, make students familiar with on-chip peripherals, connect external circuit to the processor bus, and with implementation of the memory or I/O space address extension. Next, taught the students to make simple program in the assembly language, C language and combination of both. After completion of this subject student should be able to design and implement simpler microprocessor system including connection of necessary peripherals and software design.

Study materials:

[1] Schultz,T.: C and the 8051. 4th edition. 2008, Wood Island Prints, ISBN 0978399501.

[2] Ibrahim, D.: Microcontroller projects in C. 1. Vydání. Oxford: Newnes 2000. ISBN 0 750646403

[3] First Steps with Embedded Systems 2002, Byte Craft Limited, http://www.bytecraft.com

Note:
Further information:
https://cw.fel.cvut.cz/wiki/courses/be2m37mam/
Time-table for winter semester 2024/2025:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
Wed
Thu
roomT2:C3-438
Vítek S.
12:45–14:15
(lecture parallel1)
Dejvice
roomT2:C3-438
Vítek S.
14:30–16:00
(lecture parallel1)
Dejvice
Fri
Time-table for summer semester 2024/2025:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-11-04
For updated information see http://bilakniha.cvut.cz/en/predmet4690206.html