Microprocessor and Embedded Systems – materials

Lecture – summer semester
  1. Microprocessor systems structure and elements. Elements of a microprocessor system. Fundamental microprocessor structure. Von Neumann architecture. Microprocessor operation cycles. Basic addressing modes.
  2. Data exchange between a microprocessor and its environment. Microprocessor system environment. I/O interfaces. Memory-mapped vs. isolated I/O. Data exchange methods: polling, interrupts, DMA. Z-80 microprocessor. Properties, pinout, basic machine cycles. Structure, registers. Commands, addressing modes. Interrupt system.
  3. 8051 single-chip microcomputer – general architecture. Genesis of single-chip µc. 8051 structure. Memory organisation. Pins and machine cycles. Ports structure.
  4. 8051 single-chip microcomputer – built-in peripherials. Counter/timer circuit. Serial port. Interrupt controller. Low-power modes. System extension.
  5. Parallel input/output circuits. General IO circuit properties. Simple paralel IO with acknowledge (8212 circuit, Register + flip-flop). Programmable paralel IO circuits (Intel 8255, Zilog Z80 PIO) structure, operation modes, registers.
  6. Serial input/output circuits. Serial IO circuits (Intel 8251, Zilog Z80 SIO) structure, operation modes, registers. Programmable timers/counters. Timers/counters (Intel 8253, Zilog Z80 CTC) structure, operation modes, registers.
  7. Interrupt controllers. Interrupt controller functions, possible implementations. Interrupt controllers (Simple: 8214, Complex, flexible, programmable: 8259(A)) structure, operation modes, registers.
  8. DMA controllers. DMA controller functions. DMA controllers (Intel 8257 & 8237, Zilog Z80 DMA) structure, operation modes, registers.
  9. Serial buses & interfaces. Serial vs. parallel bus comparison. Selected solutions: I2C, SMBus, SPI, Microwire, 1-Wire.
  10. Microprocessor systems development & testing. Problems during µp systems development: hardware problems, software problems, I/O problems. Microprocessor systems analysis: asynchronous analysis, synchronous analysis. Development tools: debuggers, simulators, logic state analyzers, in-circuit emulators.
  11. PIC-family single-chip microcomputers – general architecture. Von Neumann vs Harvard architecture comparison. PIC structure, example pinouts. Memory organisation & addressing.
  12. PIC-family single-chip microcomputers – built-in peripherials. Clock & reset. I/O ports. Timers/counters. Interrupts. Communications interfaces (USART, PSP). CCP module. Command list.
  13. AVR-family single-chip microcomputers – general architecture. AVR families. AVR structure. Memory organisation & addressing, stack. I/O ports.
  14. AVR-family single-chip microcomputers – built-in peripherials. Timers/counters. Analogue circuits. Serial port. Interrupts. Command list.
  15. Motorola 68xx-based microprocessors and microcontrollers. A little history. 6800 and its derivatives: 6809, 6502, 68HC05, 08, 11, ST7LITE, Nitron. 68HC08 registers & memory organisation. Addressing modes. Memory map. Interrrupts, I/O ports.
  16. 8051 single-chip microcomputer – programming basics. Command groups. Addressing modes. IDATA structure. Command list. Example assembler program. Example C program.

Lecture – winter semester

  1. 8086 Microprocesor. Struktura – bloki EU i BIU. Rejestry, segmentowa organizacja pamięci. Adres logiczny i fizyczny. Wyprowadzenia. Tryby pracy minimalny i maksymalny. Zasady dołączania pamięci. Układ przerwań.
  2. Koprocesor zmiennoprzecinkowy 8087. Zasada współpracy z 8086. Struktura wewnętrzna: BIU + NEU. Typy danych. Rejestry wewnętrzne. Wybrane rozkazy.
  3. Mikrokomputery IBM PC/XT i PC/AT. Struktura. Magistrala ISA 8- i 16-bitowa. Zastosowanie układów wspomagających.
  4. Ewolucja mikroprocesorów od 8086 do 80486. Mikroprocesor 80286 – nowe cechy, adresowanie w trybie wirtualnym, współpraca z koprocesorem 80287. Mikroprocesor 80386 – nowe cechy, współpraca z koprocesorem 80287 lub 80387. Mikroprocesor 80486 – architektura.
  5. Mikroprocesor 80486. Sygnały. Rejestry, znaczniki. Adres logiczny i fizyczny. Segmentacja – deskryptory segmentów, rejestry deskryptorów. Stronicowanie – struktura katalogów stron, elementy katalogu, bufory TLB.
  6. Mikroprocesor 80486. Organizacja pamięci podręcznej. Przesyły seryjne. Bufory zapisu. Mechanizmy ochrony zadań. Segment stanu zadania. Deskryptory segmentów systemowych i furtek. Przerwania i wyjątki. Tablica przerwań w trybie rzeczywistym i wirtualnym.
  7. Mikrokomputer IBM PC – rozwój architektury. Magistrale EISA, MCA, VLB – podstawowe cechy. Magistrala PCI. Struktura komputera wyposażonego w magistralę PCI. Sygnały i cykle magistrali PCI. Przerwania w urządzeniach PCI.
  8. Magistrala PCI – pamięć konfiguracyjna. Sposoby dostępu do pamięci konfiguracyjnej w IBM PC. Klasyfikacja urządzeń. Magistrala AGP – struktura komputera, sygnały, tryby pracy. Magistrale PCI-X, PCI-Express - podstawowe właściwości.
  9. Techniki zwiększania wydajności mikroprocesorów. Potokowe wykonanie rozkazów. Superskalarność. Rozwiązywanie zależności między rozkazami. Przewidywanie skoków. Tablica BTB, metody statyczne i dynamiczne. Optymalizacja kodu. Pamięć podręczna – sposób połączenia z mikroprocesorem, organizacja. Protokół MESI.
  10. Mikroprocesor Pentium. Struktura. Potokowość, parowanie instrukcji. Pamięć podręczna. Potokowa jednostka FPU. Układ APIC, struktury wieloprocesorowe. Rozkazy i typy danych MMX.
  11. Mikroprocesory Pentium Pro, Pentium II, Pentium III. Struktura. Zasada działania jądra RISC. Dekodowanie instrukcji. Bloki Reorder Buffer, Reservation Station, Memory Reorder Buffer. Jednostki wykonawcze. Pamięć podręczna L1 i L2. Rozszerzenia listy rozkazów i typów danych – SSE, 3Dnow. Identyfikacja typu i cech mikroprocesora.
  12. Nowoczesne układy pamięci. Zasada działania synchronicznych pamięci DRAM (SDRAM). Graf stanów pamięci SDRAM. Pamięci DDRAM – zasada działania. Konfigurowanie pamięci SDRAM,DDRAM. Pamięci RAMBUS – zasada działania, struktura modułu.
  13. Nowoczesne mikroprocesory. Struktura wewnętrzna i ogólna zasada działania mikroprocesora AMD Athlon. Przetwarzanie potokowe w procesorze Athlon. Układ dekodera instrukcji. Mikroprocesor Intel Pentium - struktura wewnętrzna, zasada działania pamięci podręcznej L1 dla kodu. Rozszerzenia SSE2. HyperThreading - przesłanki, zasada działania.
  14. Mikroprocesory 64-bitowe. Struktura wewnętrzna i ogólna zasada działania mikroprocesora AMD Athlon-64. Wbudowany sterownik pamięci DDR. Magistrala HyperTransport - ogólne cechy, wykorzystanie w systemie wieloprocesorowym., architektura systemu, sygnały.
  15. Mikroprocesory 64-bitowe. Zaawansowane architektury 64-bitowe: VLIW, EPIC. Architektura mikroprocesorów 64-bitowych Intel Itanium - ogólne założenia. Rodzaje rozkazów i jednostek wykonawczych. Format rozkazu - wiązka, interpretacja pola szablonu. Zapis rozkazu w asemblerze. Predykacja rozgałęzień. Spekulacja sterowaniem (ładowanie spekulatywne). Spekulacja danymi (ładowanie wyprzedzające). Potokowanie programowe. Rejestry, stos rejestrów.

















Presentations for lectures (PDF, English)

  1. Microprocessor system structure
  2. Data exchange between microprocessor and its environment. Z-80 microprocessor
  3. 8051 single chip microcomputer (part 1 - general architecture)
  4. 8051 single chip microcomputer (part 2 - built-in peripherials)
  5. Parallel I/O circuits
  6. Serial IO & programmable timers/couters
  7. Interrupt controllers
  8. DMA controllers
  9. Serial buses
  10. Microprocessor systems development
  11. PIC microcontrollers (part 1 - general architecture)
  12. PIC microcontrollers (part 2 - built-in peripherials)
  13. AVR microcontrollers (part 1 - general architecture)
  14. AVR microcontrollers (part 2 - built-in peripherials)
  15. Motorola 68xx family microprocessors and microcontrollers
  16. 8051 programming basics
  1. 8086 microprocessor
  2. 8087 coprocessor
  3. IBM PC microcomputer
  4. From 286 to 486
  5. 486 memory management
  6. 486 task protection
  7. From ISA to PCI
  8. PCI, PCI-X, PCI Express
  9. Microprocessor efficiency rising
  10. Intel Pentium (MMX) family
  11. Intel Pentium Pro family
  12. AMD Athlon, Pentium 4
  13. 64-bit processing: Athlon 64
  14. 64-bit processing: Intel Itanium
  15. Addressing extensions



Supplementary materials for classes (PDF, English)

  1. Introduction
  2. Central unit
  3. ROM and SRAM memories
  4. (test 1)
  5. DRAM 1 (for Z80)
  6. DRAM 2 (for 8051)
  7. (test 2)
  8. Parallel I/O
  9. Programmable timers/counters
  10. (test 3)
  11. Complex I/O systems
  12. (test 4)


Literatura uzupełniająca

Literatura do ćwiczeń


 Back