Tsev > Exhibition > Ntsiab lus

Embedded software architectures

Mar 08, 2019

Muaj ntau ntau hom software architecture hauv kev siv.


Kev tswj kev tswj yooj yim

Hauv no tsim, software tsuas muaj ib lub voj. Cov voj hu subroutines, txhua tus uas tswj cov feem ntawm hardware lossis software. Li no nws yog hu ua ib txoj kev tswj kev tswj yooj yim los yog tswj lub voj.


Interrupt-tswj system

Qee lub nruab nkag yog feem ntau tswj los ntawm kev cuam tshuam. Qhov no txhais tau hais tias kev ua hauj lwm ua los ntawm lub system yog txhais los ntawm ntau hom xwm txheej; kev cuam tshuam yuav raug tsim tawm, piv txwv li, los ntawm ib lub sijhawm nyob rau ntawm lub sijhawm tshaj tawm, los yog ntawm qhov chaw nres nkoj txog kev sib tw tau txais ib qho chaw.


Cov tshuab siv no yog siv yog cov neeg ua haujlwm yuav tsum tsis muaj latency, thiab cov neeg ua haujlwm rau kev ua haujlwm luv luv thiab yooj yim. Feem ntau, cov kev sib tw khiav lag luam nyob hauv ib lub voj tseem ceeb, tab sis txoj hauj lwm no tsis yog qhov kev xav tsis zoo.


Qee lub sij hawm qhov kev cuam tshuam kev cuam tshuam yuav ntxiv cov dej num ntxiv mus rau cov qauv queue. Tom qab, tom qab qhov kev cuam tshuam cov haujlwm tiav lawm, cov haujlwm no yuav raug tua los ntawm lub voj voog loj. Txoj kev no ua rau cov kev ua haujlwm nyob ze rau ib lub suab paj nruag multitasking nrog cov txheej txheem sib txawv.


Cooperative multitasking

Txoj kev kho mob uas tsis muaj kev txwv ntau yog zoo ib yam li cov kev cai yooj yim ntxees, tshwj tsis yog tias lub voj raug kaw hauv API. Tus programmer qhia txog kev ua haujlwm, thiab txhua txoj hauj lwm tau txais nws qhov chaw nyob "khiav" hauv. Thaum ua haujlwm tsis txaus, nws hu ua haujlwm tsis txaus, feem ntau hu ua "ncua", "tos", "yield", "nop" (sawv tsis ua hauj lwm), thiab lwm yam.


Qhov zoo thiab qhov tsis zoo yog zoo li cov kev tswj loop, tshwj tsis yog tias ntxiv cov software tshiab yooj yim dua, los ntawm kev sau cov haujlwm tshiab, lossis ntxiv rau queue.


Preemptive multitasking los yog multi-threading

Nyob rau hauv hom kev kaw lus no, ib txoj cai tsawg ntawm cov cai hloov ntawm kev paub tab los yog threads raws li lub sijhawm (txuas mus rau kev cuam tshuam). Qhov no yog qib uas lub tshuab feem ntau pom tias muaj "operating system" ntsiav. Raws li kev ua haujlwm ntau npaum li cas, nws qhia ntau dua los sis tsis yoojyim ntawm kev tswj ntau yam dej num khiav khiav hauv kev ua haujlwm.


Raws li cov cai muaj peev xwm ua kom cov ntaub ntawv ntawm lwm txoj hauj lwm (tshwj tsis yog hauv lub tshuab loj uas siv MMU) cov kev pab cuam yuav tsum tsim kom zoo thiab tsim muaj kev soj ntsuam, thiab kev siv cov ntaub ntawv yuav tsum raug tswj los ntawm qee cov kev sib tw synchronization, xws li lus queues, semaphores -tsis tso tawm synchronization tswvyim.


Vim tias cov haujlwm no, nws yog rau cov koomhaum siv lub sijhawm ua haujlwm tiag (RTOS), uas tso cai rau cov neeg ua haujlwm thov kev pabcuam rau kev siv cov haujlwm ua haujlwm tsis yog cov kev khiav haujlwm hauv kev lagluam, yam tsawg kawg rau cov kabmob loj; Cov tshuab me me feem ntau tsis tuaj yeem them cov nyiaj siv ua haujlwm nrog lub cev tsis muaj zog, vim muaj kev txwv txog qhov cim xeeb loj, kev ua haujlwm, los yog roj teeb lub neej. Qhov kev xaiv uas yuav tsum tau muaj RTOS yog nws cov teeb meem, tab sis, yuav tsum xaiv ua ntej pib ua daim ntawv thov kev txhim kho. Lub sijhawm no cov neeg tsim kev cog qoob loo los xaiv cov kev khiav hauj lwm rau lawv cov cuab yeej raws li cov kev cai tam sim no thiab txo kev ywj siab xaiv yav tom ntej rau ntau qhov. Kev txwv ntawm cov kev xaiv rau yav tom ntej dhau los ntawm ntau qhov teeb meem vim cov khoom qis dua. Ntxiv rau theem ntawm complexity yog tsis tu ncua li cov khoom siv yuav tsum tswj cov kev hloov xws li kev tso tawm, USB, TCP / IP, Bluetooth, Wireless LAN, pob tw hauv xov tooj cua, ntau txoj kev, cov ntaub ntawv thiab lub suab, kho kom zoo, ntau lub xeev, ntau cov xov, tos lub xeev thiab li ntawd. Cov qauv no yog ua rau kev nce qib ntawm nruab nrab middleware ntxiv nrog rau lub sijhawm ua haujlwm tiag.


Microkernels thiab cov exokernels

Lub microkernel yog cov kauj ruam ntawm cov lag luam ntawm lub sij hawm real-time. Kev sib kho li ib txwm yog tias qhov kev khiav hauj lwm uas ua rau lub tshuab khiav qis qis thiab pauv cov CPU kom sib txawv ntawm kev ua tiav. Tus neeg siv hom kev ua cov ntaub ntawv tseem ceeb xws li cov ntaub ntawv ua ke, network interfaces, thiab lwm yam.


Feem ntau, microkernels vam meej thaum ua hauj lwm kev sib txuas thiab kev sib txuas lus sib txuas lus ceev ceev thiab ploj thaum lawv qeeb.


Exokernels sib txuas lus zoo los ntawm kev hu subroutine. Qhov kho vajtse thiab tag nrho cov software hauv lub system muaj rau thiab siv tau los ntawm cov neeg thov kev pabcuam.


Monolithic kernels

Hauv qhov no, ib qho loj ntawm tseem fwv nrog kev muaj peev xwm ua tau zoo yog tsim kho kom haum rau qhov chaw nruab siab. Qhov no muab cov neeg tsim kev kawm zoo ib yam li lub desktop khiav hauj lwm xws li Linux los yog Microsoft lub Xeev, thiab yog vim li ntawd zoo heev rau txoj kev loj hlob; ntawm qhov downside, nws yuav tsum muaj feem ntau cov khoom siv kho vajtse, feem ntau yog kim tshaj, thiab, vim tias qhov nyuaj ntawm cov kernels, yuav tsis tshua paub tseeb thiab txhim khu kev qha.


Cov piv txwv ntawm cov kab kos nruab suab muaj nyob hauv Linux thiab Windows CE.


Dua li ntawm cov nqi kho hauv kev kho vaj tse, hom kab ke no tau nce rau hauv qhov chaw, tshwj xeeb tshaj yog nyob rau hauv cov qauv siv zog xws li wireless routers thiab GPS navigation systems. Nov yog qee qhov laj thawj:


Cov chaw nres nkoj rau cov ntawv ntim uas muaj ntau ntiv taw muaj nyob rau.

Lawv tso cai siv rov qab siv cov cai rau cov tsav tsheb, web servers, firewalls, thiab lwm cov cai.

Kev txhim kho tshuab tuaj yeem pib nrog cov feature-wide, thiab tom qab ntawd ces qhov kev faib tawm tau teeb tsa kom tsis txhob muaj kev ua haujlwm, thiab txuag cov nuj nqis ntawm lub cim xeeb uas nws yuav haus.

Feem ntau cov engineers ntseeg tias khiav daim ntawv thov nyob rau hauv hom neeg siv hom kev txhim kho thiab yooj yim rau kev debug, yog li ua qhov kev txhim kho txoj kev yooj yim dua thiab cov cai siv ntau txoj cai.

Cov nta kev xav tau sai dua li tuaj yeem lav tau ntau zaus muab tso rau hauv kev kho vajtse.

Cov software txuas ntxiv

Ntxiv nrog rau cov tub ntxhais kev lag luam, ntau lub nruab nruab muaj ntau txheej txheej software. Cov khoom no muaj xws li kev sib tham txog kev sib tsom sib txuas xws li kev PEB, TCP / IP, FTP, HTTP, thiab HTTPS, thiab kuj muaj kev cia peev txheej xws li FAT thiab flash memory system. Yog tias lub tshuab cim ruaj ntseg muaj peev xwm ua suab thiab yees duab, ces tus tsav tsheb thiab cov codecs yuav tsum muaj nyob rau hauv qhov system. Nyob rau hauv cov ntaub ntawv ntawm lub monolithic kernels, ntau ntawm cov software txheej yog suav. Nyob rau hauv RTOS qeb, qhov muaj ntawm cov software txuas ntxiv yog nyob ntawm qhov kev lag luam ua ke.


Tiag-qhov tshwj xeeb architectures

Nyob rau hauv cov cuab yeej automotive, AUTOSAR yog ib tug qauv architecture rau embedded software.