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
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 11
http://www.ro.feri.uni-mb.si
Procesni sistemi vodenjaProcesni sistemi vodenja
Komponente mikroprocesorskih sistemov
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
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)
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 44
http://www.ro.feri.uni-mb.si
Model mikroprocesorjaModel mikroprocesorja
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.
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 66
http://www.ro.feri.uni-mb.si
Registri Registri
• Preprost register
• Register z omogočitvijo in brisanjem
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.
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
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)
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.
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.
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
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
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1414
http://www.ro.feri.uni-mb.si
Pomnilnik - modelPomnilnik - model
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.
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.
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
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1818
http://www.ro.feri.uni-mb.si
Podatkovno in naslovno vodiloPodatkovno in naslovno vodilo
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 1919
http://www.ro.feri.uni-mb.si
Fizični izgledFizični izgled
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2020
http://www.ro.feri.uni-mb.si
NNadzorna logika CS (Chip Select)adzorna logika CS (Chip Select)
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.
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)
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2323
http://www.ro.feri.uni-mb.si
Harwardska arhitekturaHarwardska arhitektura
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
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
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.
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
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
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 2929
http://www.ro.feri.uni-mb.si
Model mikrokrmilnikaModel mikrokrmilnika
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.
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.
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.
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, ...)
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3434
http://www.ro.feri.uni-mb.si
DSP - MACDSP - MAC
Izračun algoritma FIR
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3535
http://www.ro.feri.uni-mb.si
DSP - MACDSP - MAC
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 3636
http://www.ro.feri.uni-mb.si
DSP – primer aplikacije – FIR filterDSP – primer aplikacije – FIR filter
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
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
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
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)
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
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
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
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
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
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
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!
Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov 4848
http://www.ro.feri.uni-mb.si
Domača nalogaDomača naloga
• Ni domače naloge.
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!