izbor procesoraes.elfak.ni.ac.rs/rts/materijal/nastava_2012/pdf_ppt/5... · 2013. 12. 6. · izbor...
TRANSCRIPT
-
Izbor procesorarazotkrivanje mitova-prvi korak ka racionalnom izboru
Koliko je procesora na raspolaganju?Oko 100 razli čitih vrsta 32 bitnih (ne ra čunaju ći pakovanja)Po nekoliko stotina 16 bitnih i 8 bitnih
Mikroprocesor – Pentium – Intel (u novinama 95% tržišt a)Samo 2% svih mikroprocesora je ugra đeno u PCSamo 2% svih mikroprocesora je ugra đeno u PCIntel nije ni u prvih pet. Samo za 32 bitne na dnu l iste.
Uticaj instrukcionog seta na izvršni kod.Nekoliko elegantnih linija na C-u -> ?Performanse, predvidivost, potrošnja!Primer sa instrukcijom množenja
-
Vreme izvršenja instrukcije množenja
Množenje komutativno (vreme množenja nije!)Kako znati šta je kra će?
-
RISC ili CISC. Ni jedan nije bolji u svemuCISC – bolja gustina koda, manji programi. “Zreliji” s oftverski alatiRISC - veće vrzine, mnogo ve će tržište.
Java čipoviPokušaj produkcijeJava “accelrator” čipovi 30-60 % kodova izvršava u hardveru.SUN prestao sa razvojem ovih čipova.
MIPS Beznačajan indikator performansi
Cena proporcionalna performansama – cena koštanja proizvodnje. Cena proporcionalna performansama – cena koštanja proizvodnje. u embedded primenama procesor od 15$ može biti bolji od 150$ proc.
ARM kao procesor sa najboljom reputacijom.Magična sposobnost da radi “na vetar”. Takav ARM nema FP,nema keš, nema izlaznu magistralu, drajverei ima mali set instrukcija.
“Second sourcing” parola komercijalista u firmama. Ha rdveristi su moglida specificiraju komponentu samo ako postoji SS.Ovo je nemogu će za mikroporcesore.
-
Wiley & IEEE PressReal-Time System Design and Analysis3rd Ed (2004),
Chapter 2Hardware Considerations
-
Hardverska arhitektura raHardverska arhitektura ra čunaračunara
Pojednostavljena struktura ra čunaraTri sistemske magistrale: power, address and data – sistemska magistrala.
Lečovanje: pamćenje stanja signala u cilju kasnijeg procesiranjaTrigerovanje na ivicu ili nivo – Edge or Level triggered.Logika sa tri stanja – mogućnost razmene podataka sa više kolaWait stanjaSistemski interfejsi i magistrale:
1. MIL-STD-1553B - avionske aplikacije2. Small Computer Systems Interface3. IEEE 1394 Firewire
-
1. MIL-STD-1553B - avionske aplikacije
Master-slave protokol. Lista aktivnosti uređaja na magistrali.Poruke sadrže ID brojeve, komande i podatke.Primer : Master želi da uređaj 5 pošalje 10 paketa podataka uređaju 6.Pouzdanost.
-
2. Small Computer Systems Interface (“scuzzy”)
PC-bazirani interfejs, paralelni.3 generacije.Daisy-chained konfiguracija.ID-0 boot uređaj, prioritet na osnovu ID
Brza spoljašnja magistrala.400 Mbps u verziji 1394a i 800 Mbps u verziji 1394b.Veza sa 63 uređaja.Priključivanje u toku rada (hot pluggable).Asinhroni prenos i izohroni (isochronous)
3. IEEE 1394 Firewire
-
CPU – Centralna procesorska jedinica
Program kao sekvenca makroinstrukcija ili makrokoda - fetch–execute cycleIdling – no operation
-
Mikrokontroleri – programiranje mikroinstrukcijama – velika brzina. Širina instrukcija!
Mikrora čunari !
Format instrukcija definiše jezik koji opisuje funkcionalnost računaraArhitektura računara – Organizacija računaraVažnost razlikovanja operanada koji se referenciraju u instrukciji.
sabiranje: 1.sabirak+2.sabirak (additions: addend+augends)oduzimanje: umanjenik-umanjilac (subtraction: subtract-subtrahend)množenje: množenik*množilac (multiplication: multiplicand*multiplier)deljenje: deljenik/delelac (division: dividend/divisor).
-
1-Address and 0-Address Forms – akumulator, stek (kalkulatori)2-Address Form
op-cod operandam, operandumoperandum = op-code(operandam, operandum)
Intel-Motorolai=i+1; i++;ADD 0x01, &i ; 2-addressADD 0x01, &i, &i ; 3-address
3-Address Formop-code operandam, operandum, resultantresultant = op-code(operandam, operandum)resultant = op-code(operandam, operandum)
Osnovne instrukcije• Horizontal-bit operation AND, IOR, XOR, NOT• Vertical-bit operation rotate-left, rotate-right,• Control• Data movement• Mathematical/special processing (int. Float.pt.,• Other (processor specific) 8086 LOCK, 68000 ILLEGAL
-
Načini adresiranjaImmediate data NeposrednoDirect memory location DirektnoIndirect memory location Indirektno
CISC1. Complex instructions take many different cycles.2. Any instruction can reference memory.3. No instructions are pipelined.4. A microprogram is executed for each native instruction.5. Instructions are of variable format.6. There are multiple instructions and addressing modes.7. There is a single set of registers.7. There is a single set of registers.8. Complexity is in the microprogram and hardware.
RISC1. Simple instructions taking one clock cycle.2. LOAD/STORE architecture to reference memory.3. Highly pipelined design.4. Instructions executed directly by hardware.5. Fixed-format instructions.6. Few instructions and addressing modes.7. Large multiple-register sets.8. Complexity handled by the compiler and software.
-
MEMORIJEZnačaj k-ka za projektovanje sistema za rad u realnom vremenuAccess time: vremenski interval od trenutka kada se zahteva neki podatak iz memorije to trenutka kad je podatak dostupan CPU.
-
Organizacija memorijeZnačaj tipa i organizacije memorije kod pisanje programa za RT sisteme!Primer embedded 32-bitnog sistema
-
Ulaz/Izlaz (Input/Output)Senzori, pretvarači, aktuatori, prekidači, displeji,...Tri osnovne metode:
1. Programirani Ulaz/Izlaz ( Programmed Input/Output)Specijalne instrukcije za prenos podataka (OUT, IN).
2. Direct Memory AccessPristup memoriji (od strane U/I uređaja) bez intervencije CPU.
-
Memorijsko mapirani U/I (Memory-Mapped I/O)Memorijske lokacije se pojavljuju kao virtualni U/I portovi.
U/I Bit Mapa – Opisuje raspored kontrolnih signale za kola u sistemu. Ovi signali su ogranizovani kao reči odgovarajuće dužine u memoriji.
-
Prekidi ( Interrupts )Hardverski signal koji inicira neki događaj. Izvori prekida (U/I uređaji, trapovi).Instrukcije za podršku prekida (enable, disable). Atomične instrukcije.Procedura prihvatanja prekida (interrupt handling). Status i maska prekida.
-
Višestruki prekidi, procesori sa više prekidnih ulaza
Programibilni kontroler prekida PIC (programmable interrupt controller), 82093Programibilni kontroler prekida PIC (programmable interrupt controller), 82093Prihvatanje prekida, zabranadaljih prekida, detekcija lažnihprekida.
-
Načini povezivanje kola korišćenjem prekidnog sistema.
Reagovanje sistema na jednovremenuReagovanje sistema na jednovremenupojavu većeg broja prekidnih signala.Prioriteti.
Mogućnost prekida nekih instrukcija(prenos bloka podataka)
-
Watchdog tajmer
Metode za poboljšanje performansiLokalizam referenci: relativna udaljenost promenljive u memoriji.Keš: mala i brza memorija za smeštanje najčešće korišćenih podataka.Protočnost: paralelizam u izvršavanju instrukcija
Koprocesori:Izvršavanje specijalnihinstrukcija koje nisu deostandardnog seta.
-
Primena specijalizovanih kola
Klasa logičkih kola (programibilnih) koja se koriste da realizaciju određenih logičkih f-ja.PLD (programmable logic devices):
PAL - Programmable array logicsPLA - Programmable logic arraysASIC - Applications-specific integrated circuitsFPGA - Field-programmable gate arrays
-
FPGA
-
Paralelni sistemi
Nedostatak von Nojmanove arhitekture: U jednom trenutku se samo jednaInstrukcija ili jedan podatak mogu preuzeti sa magistrale.Izvršavanje samo jedne instrukcije.
Posebne arhitekture
Mehanizmi razmene podataka:Poruke, Deljiva memorija.
Flynn-ova Taxonomija paralelizma:
1. Single instruction, single data (SISD)2. Single instruction, multiple data (SIMD)3. Multiple instruction, single data (MISD)4. Multiple instruction, multiple data MIMD)
-
Klasifikacija ra čunarskih arhitektura
------------------------------------------------------------------------------------------------------------------------------Single Data Stream Multiple Data Stream
------------------------------------------------------------------------------------------------------------------------------Single instruction stream von Neumann processors Systolic processors
RISC Wavefront Processors------------------------------------------------------------------------------------------------------------------------------Multiple-instruction stream Pipelined architectures Data flow processors
VLIW processors TransputersGrid computersHypercube processors
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
NXPLPC17xx
-
A(19A(19--0)0)
D(31D(31--0)0)
SectoredSectoredFlashFlash
Program BusProgram Bus
RAMRAMBootBootROMROM
eQEPeQEP
1212--bit ADCbit ADC
WatchdogWatchdog
ePWMePWM
eCAPeCAPDMADMA6 Ch.6 Ch.
XIN
TF
XIN
TF
DMA BusDMA Bus
F2833x Block Diagram
32x32 bit32x32 bitMultiplierMultiplier
Data BusData Bus
3232--bitbitAuxiliaryAuxiliaryRegistersRegisters
333232--bit bit
Timers Timers RealReal--TimeTime
JTAGJTAGEmulationEmulation CPUCPU
Register BusRegister Bus
RR--MM--WWAtomicAtomic
ALUALU
PIE PIE Interrupt Interrupt ManagerManager
CAN 2.0BCAN 2.0B
II22CC
SCISCI
SPISPI
GPIOGPIO
FPUFPU
McBSPMcBSP
-
Concerto College F28M35x TI
-
250MHz ARM9 CPU64MB DDR-RAM4MB NOR FlashCustomizable 5K LUT OpenCore FPGA1 micro SDHC Card slotUSB2 480Mbit/s Host(2) / Device(1)1 10/100 Ethernet8 TTL UART33 DIO, SPI and I2C interfacesWatchdog TimerOptional BB -RTC, CAN bus, WiFiOptional BB -RTC, CAN bus, WiFiPower-over-Ethernet ReadyFanless Operation from -20°C to 70°C Small size (67mm x 75mm)Low power (400mA @ 5V)Unbrickable, boots from SD or FlashBoots Linux 2.6 in less than 3 secondsSupports tsinit self-customization
-
BeagleBoard -xM