osnove mikroprocesorske elektronike - lpvo:...

Post on 13-May-2018

223 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Osnove mikroprocesorske elektronikedoc. dr. Marko Jankovec

Arhitekture mikroprocesorjev

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.

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

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/

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/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

top related