Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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