osnove mikroprocesorske elektronike - lpvo:...

28
Osnove mikroprocesorske elektronike doc. dr. Marko Jankovec Arhitekture mikroprocesorjev

Upload: vuquynh

Post on 13-May-2018

222 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

Osnove mikroprocesorske elektronikedoc. dr. Marko Jankovec

Arhitekture mikroprocesorjev

Page 2: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 2

Mikroprocesor (CPU)

ALU

REGISTRI

KONTROLNA ENOTA

POD

ATKO

VN

O V

OD

ILO

NA

SLOV

NO

VO

DILO

KON

TROLN

O V

OD

ILO

CENTRALNA PROCESNA ENOTA

27.2.2013Arhitekture mikroprocesorjev

Integrirano vezje, ki sprejema in izvaja kodirane inštrukcije z namenom manipulacije s

podatki in kontroliranja vezij, priključenih na vodila.

Page 3: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E

Mikroračunalnik (microcomputer)

• Je sistem računalniških komponent, povezanih z vodili 3

CPU Spomin I/O

Naslovno vodilo

Podatkovno vodilo

27.2.2013 Arhitekture mikroprocesorjev

Kontrolno vodilo

Page 4: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 4

Mikroračunalnik

27.2.2013Arhitekture mikroprocesorjev

http://www.mattjonesblog.com/2006/11/17/building-a-microcomputer/

Page 5: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 5

Mikroračunalnik

27.2.2013Arhitekture mikroprocesorjev

http://www.mattjonesblog.com/2006/11/17/building-a-microcomputer/

Page 6: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 6

Mikrokrmilnik (microcontroller)

• Mikrokontroler je integriran mikroračunalnik.

27.2.2013Arhitekture mikroprocesorjev

Page 7: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 7

Mikrokrmilnik AT90S1200

27.2.2013Arhitekture mikroprocesorjev

Page 8: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 8

Vgrajeni sistem (embedded system)

Računalniški sistem, ki je zgrajen namensko za opravljanje določene naloge, pogosto za izvajanje v realnem času. Običajno del večjega sistema, ki vključuje tudi druge strojne in mehanske komponente http://www.eeherald.com/section/design-guide/esmod1.html

27.2.2013Arhitekture mikroprocesorjev

Page 9: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 9

Integrirani sistem (System On Chip)

27.2.2013Arhitekture mikroprocesorjev

• Mikrokrmilnik + razni analogni/digitalni bloki skupaj na enem integriranem vezju

www.cypress.com/psoc

Page 10: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 10

Arhitektura vs. organizacija

27.2.2013Arhitekture mikroprocesorjev

• Arhitektura mikroprocesorja je funkcionalna slika, kot jo vidi načrtovalec programske opreme.▫ nabor ukazov▫ število bitov za predstavitev vrst podatkov▫ načini naslavljanja pomnilnika▫ načini dostopa do vhodno-izhodnih naprav

• Organizacija mikroprocesorja je način, s katerim je arhitektura izvedena. Je transparentna za programerja in uporabnike.▫ kontrolni signali,▫ vmesniki,▫ tehnologije

Page 11: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 11

Von Neumannov model računalnika

27.2.2013Arhitekture mikroprocesorjev

kontrolno vodilo

naslovno vodilo

podatkovno vodilo

pomnilnikjedro mikroprocesorja

ALUregistri

krmilna enota

vm

esnik

za po

mn

ilnik

Page 12: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 12

Pomnilnik

27.2.2013Arhitekture mikroprocesorjev

0

1

2

3

4

5

n

naslovno vodilo

po

dat

ko

vn

o v

od

ilo

dekoder

polje pomnilniških celic

vmesnik kontrolno vodilo

Page 13: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 13

Pomnilnik HM62256B - 256k SRAM

27.2.2013Arhitekture mikroprocesorjev

Page 14: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E

Vrstni red zapisa več-bytnih števil v pomnilniku

Little endian Big endian

27.2.2013

14Arhitekture mikroprocesorjev

Page 15: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E

Načini organizacije pomnilnikov

Ločeni naslovni prostori Skupni naslovni prostor

27.2.2013

15Arhitekture mikroprocesorjev

Page 16: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E

Harward vs. Princeton

Princetonska arhitektura (Von Neumann) Harvardska arhitektura

• Program in podatki v skupnem pomnilniku

• Koda se izvaja zaporedno in zahteva več ciklov

• Program je lahko bolje optimiziran po velikosti

• Intel x86, Pentium, Motorola 68HC11, ARM

• Program in podatki se nahajajo ločeno v vsak svojem pomnilniku

• Koda se lahko izvaja sočasno

• Program ima manj možnosti optimizacije velikosti

• Intel 8051, Atmel AVR, TexasInstruments MSP430, PIC

27.2.2013

16Arhitekture mikroprocesorjev

PODATKIPROGRAMSKI

POMNILNIK

CENTRALNA

PROCESNA

ENOTA

PODATKOVNI

POMNILNIK

NASLOVI

UKAZI

NADZOR NADZOR

NASLOVI

PODATKI

CENTRALNA

PROCESNA

ENOTA

PROGRAMSKI

IN

PODATKOVNI

POMNILNIK

NADZOR

NASLOVI

Page 17: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E

Sklad (Stack)

• Del delovnega pomnilnika▫ namenjen začasnemu

shranjevanju registrov• Sistem pomnilnika LIFO▫ Last-In -> first out▫ Ukaza PUSH in POP

• Kazalec na sklad▫ SP (Stack pointer)▫ Vsebuje prvo prazno lokacijo

sklada• Uporaba▫ Klicanje podprogramov▫ Prekinitve

27.2.2013Arhitekture mikroprocesorjev

17

R0

Page 18: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 18

ALU

27.2.2013Arhitekture mikroprocesorjev

wikipedia.com

A B

R

F S

Page 19: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 19

Statusni register

27.2.2013Arhitekture mikroprocesorjev

• Vsebuje informacije o zadnji izvedeni aritmetični operaciji▫ Z – rezultat je bil 0

▫ N – rezultat je negativen

▫ O – prišlo je do preliva (sprememba predznaka)

▫ C – prišlo je do prenosa bita

• Uporablja se za preusmerjanje toka programa▫ Posebni ukazi, ki preverjajo posamezen statusni bit in

vpišejo zahtevano lokacijo v PC

Page 20: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 20

Krmilna enota

27.2.2013Arhitekture mikroprocesorjev

jedro krmilne enote

ukazni registerukazni dekoder programski števec

krmilni signalip

od

atko

vno

vod

ilo

naslo

vno

vod

ilo

Page 21: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 21

Arhitektura akumulatorja

27.2.2013Arhitekture mikroprocesorjev

ukaz akcija

LOAD A akum<-A

ADD B akum<-akum+B

MUL C akum<-akum*C

akumulator = (A+B)*C

ALU

Akumulator

pomnilnik

A

B

C

Page 22: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 22

Arhitektura registrov

27.2.2013Arhitekture mikroprocesorjev

ALU

pomnilnik

A

B

C

R1

R2

R3

R4

ukaz akcija

LOAD R1, A R1<-A

LOAD R2, B R2<-B

ADD R1, R2 R1<-R1+R2

LOAD R2, C R2<-C

MUL R1, R2 R1<-R1*R2

R1=(A+B)*C

Page 23: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 23

Princip delovanja mikroprocesorja

27.2.2013Arhitekture mikroprocesorjev

http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/CPU/index.html

Page 24: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 24

Enostaven strojni jezik

27.2.2013Arhitekture mikroprocesorjev

OP koda Mnemonik Funkcija Primer

001 LOAD Naloži vrednost v akumulator LOAD 10

010 STORE Shrani vrednost akumulatorja na dani naslov

STORE 8

011 ADD Sešteje operand z vrednostjo akumulatorja ADD #5

100 SUB Odšteje operand z vrednostjo akumulatorja SUB #1

101 EQUAL Če je vrednost operanda enaka akumulatorju, preskoči naslednji ukaz

EQUAL #20

110 JUMP Skoči na določeno lokacijo izvajanja JUMP 6

111 HALT Ustavi program HALT

OP koda Vir Operand/naslov

X X X X X X X X X

Page 25: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 25

Program, ki sešteje dve števili (2+5)

27.2.2013Arhitekture mikroprocesorjev

# Strojni jezik Zbirniški jezik Opis

0 001 1 000010 LOAD #2 Naloži vrednost 2 v akumulator

1 010 0 001101 STORE 13 Shrani vrednost akumulatorja na spominsko lokacijo 13

2 001 1 000101 LOAD #5 Naloži vrednost 5 v akumulator

3 010 0 001110 STORE 14 Shrani vrednost akumulatorja na spominsko lokacijo 14

4 001 0 001101 LOAD 13 Naloži vrednost lokacije 13 v akumulator

5 011 0 001110 ADD 14 Sešteje vrednost akumulatorja z lokacijo 14

6 010 0 001111 STORE 15 Shrani vrednost akumulatorja na lokacijo 15

7 111 0 000000 HALT Ustavi izvajanje programa

Page 26: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E 26

Program, ki šteje do neke vrednosti (5)

27.2.2013Arhitekture mikroprocesorjev

# Strojni jezik Zbirniški jezik Opis

0 001 1 000101 LOAD #5 Nastavi maksimalno vrednost štetja na 5 v spremenljivki, ki se nahaja na pomnilniški lokaciji 15.1 010 0 001111 STORE 15

2 001 1 000000 LOAD #0 Nastavi števec na 0 (števec je kar akumulator)

3 101 0 001111 EQUAL 15

Primerjaj vrednost akumulatorja s spremenljivko na pomnilniški lokaciji 15. Če sta enaka, bo preskočil

naslednji ukaz in pristal na lokaciji 5.

4 110 1 000110 JUMP #6Nastavi PC na 6. To pomeni, da izvajanje programa

skoči na lokacijo 6.

5 111 0 000000 HALT Ustavi izvajanje.

6 011 1 000001 ADD #1 Povečaj vrednost akumulatorja za 1.

7 110 1 000011 JUMP #3Nastavi PC na 3. To pomeni, da se nadaljuje izvajanje

na lokaciji 3.

Page 27: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E

CISC vs. RISC

CISC – Complex Instruction Set Computing RISC – Reduced Instruction Set Computing

• Dolžine ukazov so različne

• Ukaz se izvede v več ciklih

• Velik nabor ukazov, ki lahko izvajajo kompleksne naloge - mikrokoda

• Kompleksna zgradba procesorja

• Enostavnejše programiranje

• Intel x86, Motorola 68HCxx

• Fiksna dolžina ukaza

• Večina ukazov se izvede v enem urinem ciklu

• Lažja implementacija cevovodov

• Enostavnejša zgradba procesorja, manj tranzistorjev, več prostora za naprednejšo logiko

• Uporaba splošnih registrov za hitri dostop

• Kompleksnejše funkcije se sestavljajo iz osnovnih ukazov

• Kompleksnejše programiranje

• Power PC, Atmel AVR, PIC, ARM

27.2.2013

27Arhitekture mikroprocesorjev

Page 28: Osnove mikroprocesorske elektronike - LPVO: Dobrodošlilpvo.fe.uni-lj.si/.../OME/Predavanja/02/02_predavanje.pdf · 68HC11, ARM •Program in podatki se nahajajo ločeno v vsak svojem

O S N O V E M I K R O P R O C E S O R S K E E L E K T R O N I K E

Primer v register naloži vrednost iz RAM-a na naslovu: 24+x+4*y

CISC (potrebuje 14 ciklov) RISC (potrebuje 13 ciklov)

• MOVE D1, ([24,A0,4*D0]) • LD R1, X

• LSL R1

• LSL R1

• MOV X, R0

• LD R0, X

• ADD R0, R1

• LDI R1, $24

• ADD R0, R1

• MOV X, R0

• ST X, R2

27.2.2013

28Arhitekture mikroprocesorjev