49
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1 http://www.ro.feri.uni- mb.si Procesni sistemi Procesni sistemi vodenja vodenja Komponente mikroprocesorskih sistemov

Procesni sistemi vodenja

  • Upload
    gala

  • View
    49

  • Download
    4

Embed Size (px)

DESCRIPTION

Procesni sistemi vodenja. Komponente mikroprocesorskih sistemov. Vsebina poglavja. Model in delovanje mikroprocesorja Pomnilniki Vodila CISC, RISC, mikrokrmilniki, DSP Aritmetika: celoštevilčna in s plavajočo vejico. Model in delovanje mikroprocesorja. Model mikroprocesorja Registri - PowerPoint PPT Presentation

Citation preview

Page 1: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 11

http://www.ro.feri.uni-mb.si

Procesni sistemi vodenjaProcesni sistemi vodenja

Komponente mikroprocesorskih sistemov

Page 2: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 22

http://www.ro.feri.uni-mb.si

Vsebina poglavjaVsebina poglavja

• Model in delovanje mikroprocesorja

• Pomnilniki

• Vodila

• CISC, RISC, mikrokrmilniki, DSP

• Aritmetika: celoštevilčna in s plavajočo vejico

Page 3: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 33

http://www.ro.feri.uni-mb.si

Model in delovanje mikroprocesorjaModel in delovanje mikroprocesorja

• Model mikroprocesorja

• Registri

• Centralna procesna enota

• Aritmetična logična enota (ALU)

Page 4: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 44

http://www.ro.feri.uni-mb.si

Model mikroprocesorjaModel mikroprocesorja

Page 5: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 55

http://www.ro.feri.uni-mb.si

RegistriRegistri

• S podatki običajno manipuliramo v registrih CPE. Manipulacija pomeni:– Seštevanje števil– Komplement števila– Pomik– ...

• Registri so skupine flip-flopov

• Nekateri procesorji lahko manipulirajo s podatki v pomnilniku.

Page 6: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 66

http://www.ro.feri.uni-mb.si

Registri Registri

• Preprost register

• Register z omogočitvijo in brisanjem

Page 7: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 77

http://www.ro.feri.uni-mb.si

Registri Registri

• podatkovni – tukaj se izvaja seštevajne, odštevanje, ...

• naslovni ali indeksni – nam kažejo kje so podatki

• kontrolni registri– Z njimi nadzorujemo delovanje procesorja in njegovih enot.

• statusni register– Nam kaže stanje enote procesorja.

• vmesni register (Buffer) – je register ki nam pospeši prenos podatkov. Podatek gre

najprej v buffer potem pa v posamezno enoto.

Page 8: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 88

http://www.ro.feri.uni-mb.si

Centralna procesna enota (CPU)Centralna procesna enota (CPU)

NV- naslovno vodiloKV- kontrolno vodiloPV- podatkovno vodiloPC- Program Counter

(programski števec nam kaže na lokacijo kjer se izvaja program)

ALU- Aritmetic Logic Unit

Page 9: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 99

http://www.ro.feri.uni-mb.si

Pipeline: Fetch & execute, prefetchPipeline: Fetch & execute, prefetch

Fetch(Pridobi)

Execute(Izvedi)

Decode(Dekodiraj)

Bit patternBitni vzorec

Microcode programProgram v mikrokodi

Lahko tudi več ciklov zaEno instrukcijo

Machine code (Assembler)Strojni jezik (Zbirni jezik)

Page 10: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1010

http://www.ro.feri.uni-mb.si

Aritmetična logična enota (ALU)Aritmetična logična enota (ALU)

• Izvaja aritmetične in logične operacije– Aritmetične: seštevanje, odštevanje, množenje, ...– Logične: IN, ALI, XOR, NE, ...– Testiranje bitov– Rotacije in pomike

• Uporablja enega ali več akumulatorjev– Akumulator je register, ki ga ALU uporablja za

manipulacijo s podatki.

Page 11: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1111

http://www.ro.feri.uni-mb.si

Število bitov procesorjaŠtevilo bitov procesorja

• 8b– Preprosti krmilniki, binarni vhod in izhod, uporabno

za krmilja.

• 16b– Preproste regulacije, analogni vhodi in izhodi.

• 32b– Kompleksne regulacije in obdelave podatkov.

• >32b– Grafične aplikacije ipd.

Page 12: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1212

http://www.ro.feri.uni-mb.si

PojmiPojmi• PROGRAM

– Zaporedje ukazov ki jih CPE bere iz pomnilnika in jih izvaja.

• POMNILNIK – vsebuje program in podatke.

• POMNILNIŠKA CELICA– vsebuje podatek ali program, pomembna je njena dolžina(v našem

primeru 8-bitov, lahko pa tudi tudi več 16-, 24-, 32-, i-bitov). En bit pomnilnika lahko zavzame vrednost 0 ali 1.

• PODATKOVNO VODILO – Preko njega dostopamo do vsebine.

• VSEBINA – je lahko program ali podatek.

• NASLOVNO VODILO – določa naslov pomnilniške celice ali lokacijo

Page 13: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1313

http://www.ro.feri.uni-mb.si

PomnilnikiPomnilniki

• ROM• RAM

– DARAM (Dual Access RAM)• 2 dostopa (pisanje/branje) na cikel

– SARAM (Single Access RAM)• 1 dostop (pisanje/branje) na cikel

• PROM• EPROM• EEPROM• Flash-ROM

Page 14: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1414

http://www.ro.feri.uni-mb.si

Pomnilnik - modelPomnilnik - model

Page 15: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1515

http://www.ro.feri.uni-mb.si

Big Endian / Little EndianBig Endian / Little Endian• Primer shranjevanja 4-

byte BCD števila 12345678 z začetkom na spominski lokaciji $0400.

• Big endian– Najmanj pomemben bit

(LSB) ima najvišji naslov.

• Little endian– Najmanj pomemben bit

(LSB) ima najnižji naslov.

Page 16: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1616

http://www.ro.feri.uni-mb.si

Izvor Big Endian / Little EndianIzvor Big Endian / Little Endian

V knjigi “Gulliverjeva potovanja” Jonathana Swifta nastopata dva naroda, ki sta se razlikovala:

• Liliputianci so razbijali jajca na tanjšem koncu - little endian.

• Blefasko je narod, ki je razbijal jajca na širšem koncu – big endians.

• Naroda sta se zaradi spora o boljšem načinu razbijanja jajc vojskovala v dolgi vojni.

Page 17: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1717

http://www.ro.feri.uni-mb.si

VodilaVodila

• podatkovno vodilo

• naslovno vodilo

• kontrolno vodilo

• fetch & execute, prefetch

• Von Neumanova in Harvardska arhitektura

• DMA

Page 18: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1818

http://www.ro.feri.uni-mb.si

Podatkovno in naslovno vodiloPodatkovno in naslovno vodilo

Page 19: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1919

http://www.ro.feri.uni-mb.si

Fizični izgledFizični izgled

Page 20: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2020

http://www.ro.feri.uni-mb.si

NNadzorna logika CS (Chip Select)adzorna logika CS (Chip Select)

Page 21: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2121

http://www.ro.feri.uni-mb.si

NNadzorna logika CS (Chip Select)adzorna logika CS (Chip Select)

• KONTROLNO VODILO – krmili delovanje sistema, vpisujemo ali beremo podatke.

• NADZORNA LOGIKA – nam pove katero enoto naslavljamo.

Page 22: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2222

http://www.ro.feri.uni-mb.si

Von Neumannova arhitekturaVon Neumannova arhitektura

• Podatki in ukazi se pošiljajo po istih vodilih. Klasično vezje dela paralelno, vse hkrati. Karakteristično izvajanje ukaza prefetch za cache. Za izvršitev ukaza sta potrebna 2 pulza:– 1. pulz za prevzem ukaza

(fetch), prebere

– 2. pulz za izvršitev ukaza (execute)

Page 23: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2323

http://www.ro.feri.uni-mb.si

Harwardska arhitekturaHarwardska arhitektura

Page 24: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2424

http://www.ro.feri.uni-mb.si

Harwardska arhitekturaHarwardska arhitektura

• podatkovno vodilo + podatkovno naslovno vodilo

• vodilo za ukaze + ukazno naslovno vodilo

• ločen pomnilnik za podatke (1. IC)

• ločen pomnilnik za program (2. IC)

• hitrejši procesi

• dražji

• kompleksnejši

Page 25: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2525

http://www.ro.feri.uni-mb.si

PrimerjavaPrimerjava

DSP Procesor• Harvardska arhitektura• 2-4 dostopa do

pomnilnika v enem ciklu• Ni cache-ja ali SRAM

na čipu

Splošno namenski μP• Von Neumannova

arhitektura• Tipčno 1 dostop/cikel• Lahko uporablja

cache-je

Page 26: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2626

http://www.ro.feri.uni-mb.si

DMADMA

• Direct memory access – Neposredni dostop do pomnilnika, brez obremenjevanja

CPE.

Page 27: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2727

http://www.ro.feri.uni-mb.si

CISC, RISC, Mikrokrmilniki, DSPCISC, RISC, Mikrokrmilniki, DSP

• CISC– Complex Instruction Set Computer

• RISC– Reduced Instruction Set Computer

• Mikrokrmilnik– Mikroprocesor z vgrajenimi V/I enotami.

• DSP– Digital Signal Processor / Processing

Page 28: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2828

http://www.ro.feri.uni-mb.si

Mikrokrmilnik – osnovno delovanjeMikrokrmilnik – osnovno delovanje

• Program (instrukcije) in podatki so shranjeni v pomnilniku

• Vsaka instrukcije je prebrana (fetched) iz pomnilnika, interpretirana (decoded) in izvedena– Arithmetična Logična Enota (ALU) izvaja operacije nad

podatkih

– Podatki se prenašajo (registri, pomnilnik, I/O)

• Programski števec (PC) kaže na trenutno lokacijo v programskem pomnilniku in se samodejno poveča po izvedbi vsake instrukcije

• Instrukcija lahko traja več urinih ciklov

Page 29: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2929

http://www.ro.feri.uni-mb.si

Model mikrokrmilnikaModel mikrokrmilnika

Page 30: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3030

http://www.ro.feri.uni-mb.si

Model mikrokrmilnikaModel mikrokrmilnika• Razen CPE vsebuje še vsaj RAM, ROM, periferije• Zunanje vodilo

– DA ali NE (enostavni) - zunanje vodilo je dobro imeti za razvoj.• V/I enote so programirljive• ROM, EPROM, EEPROM, FLASH-PROM • RAM• Serijski vmesniki • Binarni vmesniki (lahko vhodi ali izhodi).• Splošno namenski časovniki• WATCH DOG

– je programabilni časovnik za nadzor sistema. Če nam sistem obstoji in se nekaj časa ne odziva nam ga watch dog resetira in se sistem znova naloži.

• A/D pretvorniki: – 8-, 10- ali 12- bitni (1, 2 ali 3 takih pretvornikov z uporabo multiplekserja

razširimo na več vhodov).• PWM:

– generiramo pulze z različno širino (različna dolžina in različna frekvenca). Z uporabo filtra( kondenzatorja) pa dobimo zvezni signal.

Page 31: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3131

http://www.ro.feri.uni-mb.si

DSP : Splošno namenski mikroprocesorDSP : Splošno namenski mikroprocesor• DSP so v osnovi narejeni za izvajanje posameznih

aplikacij.– Njihov operacijski sistem je bistveno preprostejši, ni

virtualnega pomnilnika ali zaščit, ...

• DSP pogosto poganjajo operacije v strogem realnem času (hard real-time).– Program mora biti napisan tako, da se vedno izvede

znotraj določenega časovnega okna. – Vse možne prekinitve morajo biti vnaprej predvidene in

njihovo trajanje upoštevano.– Vse dodatne prekinitve so torej SLABE!

• DSP imajo neskončni zvezni pritok podatkov.

Page 32: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3232

http://www.ro.feri.uni-mb.si

DSP : Splošno namenski mikroprocesorDSP : Splošno namenski mikroprocesorDSP

• Specializirana strojna oprema izvaja vse ključne operacije v enem ciklu.

• Strojna podpora za zagotavljanje numeričnega delovanja:– Pomiki (Shifters)

– Zaščitni biti (Guard bits)

– Omejitve (Saturation)

Splošno namenski μP

• Množenja pogosto trajajo več ciklov.

• Pomiki pogosto trajajo več ciklov.

• Druge operacije (pomiki, zaokroževanja, ...) pogosto trajajo več ciklov.

Page 33: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3333

http://www.ro.feri.uni-mb.si

Zakaj Multiply/Add?Zakaj Multiply/Add?

Digitalno tipanje analognega signala

A

tt

Večino algoritmov digitalne obdelave signalov lahko

predstavimo kot:

4040

i = 1i = 1Y = ai * xi

DACxx YY

ADC DSP

(Digitalni filtri, regulatorji, ...)

Page 34: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3434

http://www.ro.feri.uni-mb.si

DSP - MACDSP - MAC

Izračun algoritma FIR

Page 35: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3535

http://www.ro.feri.uni-mb.si

DSP - MACDSP - MAC

Page 36: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3636

http://www.ro.feri.uni-mb.si

DSP – primer aplikacije – FIR filterDSP – primer aplikacije – FIR filter

Page 37: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3737

http://www.ro.feri.uni-mb.si

Aritmetika procesorjaAritmetika procesorja

• Numerični formati– Celoštevilčna aritmetika– Aritmetika s plavajočo vejico

Page 38: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3838

http://www.ro.feri.uni-mb.si

Celoštevilčna aritmetikaCeloštevilčna aritmetika

• Opis desetiškega števila:123410 =

1 * 103 +

2 * 102 +

3 * 101 +

4 * 100

• Opis dvojiškega števila:10112 =

1 * 23 +

0 * 22 +

1 * 21 +

1 * 20

• Nepredznačena števila: • Predznačena števila:

1 0 1 1 1 0 1 1

Unsigned SignedPredznak

Page 39: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3939

http://www.ro.feri.uni-mb.si

Zapis negativnih števil (4b števila)Zapis negativnih števil (4b števila)

• Eniški komplement-1 = 1110

-3 = 1100

• Dvojiški komplement-1 = 1111

-3 = 1101

• Za računske operacije se uporablja dvojiški komplement

0 0 0 1

NOT

1 1 1 0

0 0 0 1

NOT

1 1 1 0

+1

1 1 1 1

Page 40: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4040

http://www.ro.feri.uni-mb.si

Opis desetiškega števila z decimalno vejicoOpis desetiškega števila z decimalno vejico

19.99(10) 1*101+9*100+9*10-1+9*10-2

stolpec z deseticami (101) stolpec z enicami (100)

stolpec z desetinkami (10-1) stolpec s stotinkami (10-2)

Page 41: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4141

http://www.ro.feri.uni-mb.si

Opis dvojiškega števila z decimalno vejicoOpis dvojiškega števila z decimalno vejico

10.01(2) 1*21+0*20+0*2-1+1*2-2

stolpec z 21 stolpec z 20 stolpec z 2-1 stolpec z 2-2

Page 42: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4242

http://www.ro.feri.uni-mb.si

Računske operacije - seštevanjeRačunske operacije - seštevanje

Desetiško: Dvojiško:

1. 2 5 1. 0 1

+ 1. 5 0 + 1. 1 0

2. 7 5 1 0. 1 1

Page 43: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4343

http://www.ro.feri.uni-mb.si

Računske operacije - množenjeRačunske operacije - množenje

Desetiško: Dvojiško:

1. 2 * 1. 5 1. 0 1 * 1. 0 1

1 2 1 0 1

6 0 0 0 0

1. 8 0 1 0 1

1. 1 0 0 1

Page 44: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4444

http://www.ro.feri.uni-mb.si

Q – aritmetika – zapis s fiksno vejicoQ – aritmetika – zapis s fiksno vejico

• xQn = x * 2n – zapis števila v Qn aritmetiki– Primer – zapis števila 33,333 v Q8 aritmetiki

33.333 * 28 = 8533,248

= 0010000101010101

= 8533 / 28 = 33,33203125

– Ločljivost!!! - pojavi se razlika!

Predznak

0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1

Page 45: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4545

http://www.ro.feri.uni-mb.si

Reprezentacija števil s plavajočo vejicoReprezentacija števil s plavajočo vejico

• S – predznak• E – eksponent• M – mantisa

• IEEE 754: – S = 1b, E = 8b, M=23b

S E M

Page 46: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4646

http://www.ro.feri.uni-mb.si

Podatkovni tipi v programskem jeziku CPodatkovni tipi v programskem jeziku C

Velja za TMS320C2x/C2xx/C5xVelja za TMS320C2x/C2xx/C5x

Page 47: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4747

http://www.ro.feri.uni-mb.si

Zmanjševanje porabe močiZmanjševanje porabe moči

Ena od pomembnih lastnosti mikrokrmilnika!

Page 48: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4848

http://www.ro.feri.uni-mb.si

Domača nalogaDomača naloga

• Ni domače naloge.

Page 49: Procesni sistemi vodenja

Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4949

http://www.ro.feri.uni-mb.si

Možna vprašanja na izpituMožna vprašanja na izpitu• Katere so glavne enote mikroprocesorja?• Opisi:

– CPE, ALE, registri, vodila• Naštej tipe registrov in opiši njihovo delovanje!• Opiši način izvajanja programa v mikroprocesorju (fetch, decode, execute)!• Katere tipe pomnilnikov poznaš? Opiši!• Katera vodila ima mikroprocesor in kaj so njihove naloge?• Opiši in primerjaja Harwardsko in Von Neumannovo arhitekturo procesorja!• Opiši razliko med mikrokrmilnikom in splošno namenskim

mikroprocesorjem!• Opiši princip in namen DMA!• Pojmi: CISC, RISC, mikrokrmilnik, DSP – kaj pomenijo?• Kaj loči DSP od splošno namenskega mikroprocesorja?• Pojasni razliko med aritmetiko s fiksno in plavajočo decimalno vejico!