500 likes | 720 Views
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
E N D
Procesni sistemi vodenja Komponente mikroprocesorskih sistemov 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 Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Model in delovanje mikroprocesorja • Model mikroprocesorja • Registri • Centralna procesna enota • Aritmetična logična enota (ALU) Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Model mikroprocesorja Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Registri • 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
Registri • Preprost register • Register z omogočitvijo in brisanjem Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
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 vbuffer potem pa v posamezno enoto. Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Centralna procesna enota (CPU) NV- naslovno vodilo KV- kontrolno vodilo PV- podatkovno vodilo PC- Program Counter (programski števec nam kaže na lokacijo kjer seizvaja program) ALU- Aritmetic Logic Unit Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Pipeline: Fetch & execute, prefetch Fetch (Pridobi) Machine code (Assembler) Strojni jezik (Zbirni jezik) Bit pattern Bitni vzorec Execute (Izvedi) Decode (Dekodiraj) Lahko tudi več ciklov za Eno instrukcijo Microcode program Program v mikrokodi Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
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
Š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
Pojmi • PROGRAM • Zaporedje ukazov ki jih CPE bere iz pomnilnika in jih izvaja. • POMNILNIK • vsebuje programinpodatke. • POMNILNIŠKA CELICA • vsebuje podatek ali program, pomembna jenjena 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
Pomnilniki • 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
Pomnilnik - model Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Big Endian / Little Endian • Primer shranjevanja 4-byteBCD š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
Izvor 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 – bigendians. • Naroda sta se zaradi spora o boljšem načinu razbijanja jajc vojskovala v dolgi vojni. Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Vodila • podatkovno vodilo • naslovno vodilo • kontrolno vodilo • fetch & execute, prefetch • Von Neumanova in Harvardska arhitektura • DMA Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Podatkovno in naslovno vodilo Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Fizični izgled Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Nadzorna logika CS (Chip Select) Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Nadzorna logika CS (Chip Select) • KONTROLNO VODILO • krmili delovanje sistema, vpisujemo aliberemo podatke. • NADZORNA LOGIKA • nam pove katero enoto naslavljamo. Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Von Neumannova arhitektura • Podatki in ukazi se pošiljajo po istih vodilih. Klasično vezje delaparalelno, vse hkrati. Karakteristično izvajanje ukaza prefetch za cache. Zaizvrš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
Harwardska arhitektura Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Harwardska 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
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 Primerjava Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
DMA • Direct memory access • Neposredni dostop do pomnilnika, brez obremenjevanja CPE. Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
CISC, 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
Mikrokrmilnik – osnovno delovanje • Program (instrukcije) in podatki so shranjeni v pomnilniku • Vsaka instrukcije je prebrana (fetched) iz pomnilnika, interpretirana (decoded) in izvedena • Arithmetična LogičnaEnota (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
Model mikrokrmilnika Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Model 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
DSP : 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
DSP : Splošno namenski mikroprocesor DSP • 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
Digitalno tipanje analognega signala A 40 Y = ai * xi i = 1 t Zakaj Multiply/Add? DSP ADC DAC x Y Večino algoritmov digitalne obdelave signalov lahko predstavimo kot: (Digitalni filtri, regulatorji, ...) Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
DSP - MAC Izračun algoritma FIR Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
DSP - MAC Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
DSP – primer aplikacije – FIR filter Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Aritmetika procesorja • Numerični formati • Celoštevilčna aritmetika • Aritmetika s plavajočo vejico Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
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 Celoštevilčna aritmetika • Predznačena števila: • Nepredznačena števila: Unsigned Signed Predznak Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
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 Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Opis desetiškega števila z decimalno vejico Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Opis dvojiškega števila z decimalno vejico Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Računske operacije - seštevanje Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Računske operacije - množenje Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Q – 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 Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Reprezentacija š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
Podatkovni tipi v programskem jeziku C Velja za TMS320C2x/C2xx/C5x Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Zmanjševanje porabe moči Ena od pomembnih lastnosti mikrokrmilnika! Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Domača naloga • Ni domače naloge. Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov
Mož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! Procesni sistemi vodenja - Komponente mikroprocesorskih sistemov