Course detail

Microprocessors

FEKT-CMICAcad. year: 2011/2012

Logical functions, Bool's algebraic, combination and sequence circuits. Principles of microprocessor. Addressing. Subrutins, interrups, stack utilisation. Von Neuman and harward conception of computer. Overlapping and pipelining. Superscalar architecture. CISC a RISC processors.
Microcontrollers Motorola HCS12: SW model. Instruction set. Peripherals: Parallel Input/Output, A/D convertor, timer system, SCI, SPI. Connectios microprocessor with external components as memoris, A/D and D/A convertors, keyboard, display. Segmentation, paging, memory virtualisations. Intel Pentium: Addressing modes. Virtual addressing. Real mode and protected mode. Memory protection. Gates. Proces switching. Paging unit. Interrupts. Embedded systems.

Language of instruction

English

Number of ECTS credits

6

Mode of study

Not applicable.

Learning outcomes of the course unit

Students are able to design microprocessor circuitry and create SW equipement for microprocessor systems.

Prerequisites

The subject knowledge on the secondary school level is required.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.

Assesment methods and criteria linked to learning outcomes

Work of students is evaluated during study by tests in exercises. They can obtain maximum 40 points by these tests during semester.
Final examination is evaluated by 60 points at maximum.

Course curriculum

1. Introduction. Definition of logical circuit, two states signals. Mathematical logic, logical function, Boole's algebraic. Completely and uncompletely defined logical function. Description of logic function by table and by algebraic form (UDNF, UKNF). Simplification of logical functions. Algebraic simplification. Realization of logical circuits wits NAND and NOR. Karnaug's map.
2. Base combination logical blocks (binary decoder, multiplexor, demultiplexor, priority coder, digital comparator, code transformation).
3. Principal of flip-flop, RS, D, JK, T, master-slave flip-flop. Sequence logical circuits: finite state automat, Huffman's model of automat, Mealy automat, Moor automat.
4. Data registers, shift registers, synchronous and asynchronous counters, deviders.
5. Von Neumanns` conception of computer. Base cycle of computer. Computer block diagram, ALU, controller, registers, memory, peripheral devices. Memory organization. Microprocessor, microcontroller, digital signal processor, digital signal controller.
6. Program, instruction, instruction set, types of instruction, number of operands, instruction set architecture. Addressing modes.
7. Machine code, assembler. Subrutins , stacks manipulation. Difference between subrutin and macro. Stack and C language.
8. Programmed I/O: polling, interrupt-driven I/O, using DMA. Synchronous and asynchronous interrupts. Interrupt servicing. Mask, nonmask and pseudomask interrupts. Reset.
9. Microcontrollers Motorola HCS12 family: ports, CRG units (oscillator, PLL, real-time interrupt , Watchdog (COP)), timers, A/D convertor..
10. Von Neumann, Harvard and modified Harvard architectures. Pipelining, problems of pipelining.. Superscalar architecture. Multiprocessor systems and processor fields.
11. Memories, memory parameter. Principle and property of memory: SRAM, DRAM, SDRAM, DDR RAM, FeRAM, MRAM, EPROM, EEPROM, FLASH.
12.Memory bus interface. Principle of locality, memory hierarchy, memory cache.
13. Memory management. No memory abstraction. Dynamic relocation, base and limit registers. MMU. Paging and segmentation. Virtual memory.

Work placements

Not applicable.

Aims

To give students base informations about principles of microprocessors and microcontrollers, about creating software for them and about designing microprocessor systems and embedded systems.

Specification of controlled education, way of implementation and compensation for absences

The content and forms of instruction in the evaluated course are specified by a regulation issued by the lecturer responsible for the course and updated for every academic year.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Not applicable.

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme EECC Bc. Bachelor's

    branch BC-AMT , 2 year of study, summer semester, compulsory

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

1. Mathematical logic, logical function, Boole's algebraic. Table, map and algebraical form of logical function. Simplification of logical functions.
2. Combination logical circuits (switches, decoders, multiplectors, demultiplectors). Sequencal logical circuits: flip-flop.
3. Sequencal logical circuits: Huffman's model of automat, Mealy automat, Moor automat. Registers, counters, deviders, shift registers.
4. Memories. Computer block diagram, CPU - ALU, controller, registers. Microprocessor, microcomputer, microcontroller, DSP. Base principle microprocessor working. Clock cycle, phase, machine cycle, instruction cycle.
4. Addressing. Subrutins, interrupts, stacks utilisation. Von Neumann, Harvard modified Harvard microprocessor architectures. Overlapping. Pipelining.
5. Microcontrollers Motorola HCS12 family: Programmer model, ALU. Addressing modes. Operational modes and memory maps.
6. HCS12: Operating modes. Ports, MEBI units, Key Wake up function, PIM units. CRG units (oscilators, PLL, real-time interrup (RTI), Watchdog (COP)).
7. HCS12: A/D convertor. Timer subsystem: Imput capture function. Output compare function. Pulse accumulatos.
8.HCS12: Serial Comunication Interface (SCI). Serial Peripheral Interface (SPI). Low power modes WAIT and STOP.
9. HCS12: Connectios microprocessor with external components as memoris, A/D and D/A convertors, keyboard, display.
10. Segmentation, paging and virtual memory. Intel IA32 (I386) architecture: Programmer model. Addressing modes. Memory addressing and I/O addressing.
11. IA32: Privilegy levels. Local and global address space. GDI and LDI tables. Logical address, linear address. Segment descriptors. Data segment Acces.
12. IA32: Calling instruction segment. Gates. Task switching. Interrupts in real and protected mode. Paging unit.
13. Architecture of Intel pentium P6. MMX, SSE, SSE2, SSE3 instructions. New states of art in Intel microprocessors. Embedded systems.

Exercise in computer lab

39 hod., compulsory

Teacher / Lecturer

Syllabus

1. Decimal, hexadecimal and binary numbers. Addition, substraction binary numbers. First complemment. Miltiplication and division binary numbers.
2. Floating point numbers by IEEE-754 standard. Logical function simplification, binary sumation circuit design.
3. Sequece logical circuit design.
4. Assembly language prougram - addition and substraction 16 bit and 32 bit numbers.
5. Assembly language program - moving field of numbers. Assembly language program for sorting field of numbers.
6. Assembly language program - multiplication two 16 bit numbers with using shift instructions.
Assembler programme for multiplication two 16 bit numbers with using MUL instructions.
7. Assembly language program - stack utilisation.
8. C language program - utilisation of binary HCS12 I/O ports.
9. C programme - utilisation of HCS12 Real Time Interrupt.
10. C programme - utilisation of HCS12 serial comunication interface.
11. C programme - utilisation of HCS12 A/D convertor.
12.C programme - utilisation of HCS12 Output Compare and Imput Capture functions.
13. Final test.