Wykład 4:
Budowa i działanie mikrokontrolera

Mariusz Chilmon
m.chilmon@amw.gdynia.pl
uc.vmario.org

Mikrokontroler vs. mikroprocesor

Mikroprocesor

Scalony układ cyfrowy przeznaczony do wykonywania operacji arytmetyczno-logicznych według dostarczonego ciągu instrukcji.

Mikrokontroler

Scalony układ cyfrowy zawierający mikroprocesor wraz z pamięcią operacyjną, pamięcią programu, źródłem zegara i układami I/O.

W uproszczeniu: płyta główna komputera zamknięta w układzie scalonym.

Mikrokontroler

Mikrokontrolery przeznaczone do prostszych systemów wbudowanych nie wymagają żadnych układów zewnętrznych do wykonywania programu.

Przykłady

Budowa mikrokontrolera

Budowa CPU

Mapa pamięci

RISC vs CISC

Definicje

RISC
Reduced Instruction Set Computer
CISC
Complex Instruction Set Computer

Porównanie

RISCCISC
zbiór instrukcji~100~1000
instrukcjeprostezłożone
CPI1…21…100
adresowanieprostezłożone
obliczeniaregister-register
(load-store)
register-memory
koddłuższykrótszy

Porównanie


		; CISC
		; Pomnóż liczby pod adresami 0x04 i 0x08 w RAM.
		; Wynik zapisz w 0x04.
		MUL 0x04, 0x08
	

		; RISC
		MOV R1, 0x04 ; Załaduj pierwszą liczbę z RAM do R1.
		MOV R2, 0x08 ; Załaduj drugą liczbę z RAM do R2.
		MUL R1, R2 ; Pomnóż liczby i umieść wynik w R1.
		MOV 0x04, R1 ; Przepisz wynik z R1 do RAM.
	

Porównanie

RISCCISC
rejestrywięcejmniej
tranzystorówmniejwięcej
zużycie mocymniejszewiększe
implementacjahardwiredmikrokod
przykładyAVR, PIC, ARM, RISC-V, SPARC8051, x86, x86-64

Liczba bitów

O czym mówi liczba bitów?

  • szerokość słowa AlU
  • rozmiar rozkazu
  • rozmiar rejestrów
  • szerokość szyn danych
  • wielkość przestrzeni adresowej

1-bit

  • MC14500BCP
  • sterowniki PLC

8-bit

  • Intel 8008
  • Intel 8051
  • Z80
  • AVR
  • AVR XMEGA
  • PIC
  • PIC16
  • PicoBlaze

16-bit

  • Intel 8088
  • Motorola 68HC12
  • NEC V20
  • TI MSP430
  • Zilog Z8000

32-bit

  • Intel 386
  • Intel Pentium
  • AMD Duron
  • Intel Core Duo
  • PIC32
  • ARM
  • RISC-V

64-bit

  • Intel Core
  • AMD Ryzen
  • ARM
  • RISC-V

ISA
(Instruction Set Architecture)

Przykłady

  • x86 (IA-32)
  • x86-64
  • AVR
  • ARM
  • RISC-V