DKK | EUR | USD

Opfyld forskellige funktionelle og sikkerhedskrav med multicore-processorer

Af Stephen Evanczuk

Bidraget af Digi-Keys nordamerikanske redaktører

Automotive, industri, robotteknologi, bygningskontrol og andre kritiske indlejrede systemapplikationer forventes at påtage sig mere forskelligartede arbejdsbelastninger, der strækker sig fra realtidsovervågning med lav effekt til multimedieapplikationer på højt niveau med grafikskærme på flere skærme til grænseflader mellem mennesker og maskiner (HMI'er) . Mens de opfylder disse brede funktionelle krav, skal de også være i stand til at understøtte strenge sikkerhedsstandarder, lavere omkostninger og fodaftryk og optimere magt/ydelsesbalancen.

For at imødekomme disse ofte til tider modstridende krav har udviklere til dato været tvunget til enten at ofre funktionel kapacitet eller komplicere design og fremstilling med tilføjede enheder, der er nødvendige for at understøtte specifikke krav til blandt andet grafik, sikkerhed og sikkerhed. Hvad udviklere virkelig har brug for er en enkelt løsning, der er i stand til at understøtte en bred vifte af produkter, der opfylder disse krav på tværs af en bred vifte af kritiske integrerede systemapplikationer.

Denne artikel beskriver hurtigt udviklingen af kritisk integreret systemdesign. Derefter vises, hvordan applikationer med flere kerner - designet specielt af NXP Semiconductors til at understøtte en hurtigt voksende liste over krav til både bred funktionalitet og sikkerhedscertificerbare funktioner - kan bruges til at tackle udvikleres udfordringer.

Udviklingen af integrerede systemdesignhensyn

Den traditionelle rolle, som integrerede enheder understøtter et begrænset sæt systemfunktioner, er stort set blevet erstattet af efterspørgslen efter enheder, der leverer brede funktioner. I industrielle applikationer kræver for eksempel behovet for forbedrede HMI-funktioner i smarte værktøjer og udstyr processorer, der er i stand til at levere optimeret grafik, mens de imødekommer mere traditionelle industrielle realtidsbehov. Tilsvarende tendensen i bilapplikationer i retning af hierarkiske arkitekturer, der omfatter funktionelle domæneklynger og gateways, et behov for processorer, der er i stand til at opfylde disse krav (figur 1).

Diagram over hierarkiske bilsystemarkitekturerFigur 1: Tendensen mod mere hierarkiske bilsystemsystemarkitekturer har skabt et behov for mere integrerede, skalerbare processorløsninger. (Billedkilde: NXP Semiconductors)

Inden for hvert funktionelt domæne hæver efterspørgslen efter mere sofistikerede kapaciteter fortsat tærsklen for ydeevne og integrerede kapaciteter. F.eks. Kræver fremkomsten af heads-up-skærme løsninger, der er i stand til at sikre fortsat levering af vigtig grafisk information til chauffører. Sammen med disse næste generations skærme tilføjer det voksende behov for forbedret chauffør-bevidsthed yderligere krav til kameragrænseflader og højtydende udførelse af avanceret genkendelsessoftware, der er i stand til at detektere en søvnig chauffør.

Efterhånden som applikationer fortsætter med at udvikle sig, bliver behovet for stærkt integrerede, skalerbare løsninger mere presserende for at imødekomme stadig mere forskellige krav, samtidig med at designfodaftryk, omkostninger og kompleksitet minimeres. Brug af NXP'er i.MX 8 familie af applikationsprocessorer, kan udviklere udnytte en kompatibel platform af processorer med den række muligheder og ydeevne, der er nødvendige for at understøtte en bred vifte af applikationskrav. Inden for i.MX 8-familien, NXP i.MX 8X serien imødekommer nye behov for sikkerhedscertificerbare processorer, der kræves i mellemklasse bilindustrien og industrielle applikationer.

Multicore-arkitektur håndterer forskellige arbejdsbelastninger

En af de vanskeligheder, som udviklere står over for ved implementering af enheder til bilindustrien og industrielle applikationer, er den store bredde af kravene. Hvor udviklere kunne forvente at håndtere enten realtids- eller applikationsbehandlingsbelastninger på højt niveau, har efterspørgslen efter intelligente undersystemer flettet disse væsentligt forskellige typer computing. I stigende grad har udviklere brug for løsninger, der er i stand til at levere både pålidelig realtidsrespons og højtydende applikationsudførelse, mens de understøtter funktionelle sikkerhedskrav.

NXP i.MX 8X-serie processorer er designet til at levere realtidsfunktioner, højtydende behandling og lavt strømforbrug og drager fuld fordel af en sofistikeret CPU-arkitektur (multi-core central processing unit) til at styre forskellige beregningsarbejdsbelastninger (figur 2).

Diagram over NXP i.MX 8X-serie multicore-arkitekturFigur 2: NXP i.MX 8X-serien bruger en multicore-arkitektur, der omfatter en Arm Cortex-M4 (CM4) integreret processor og flere Arm Cortex-A35 applikationsprocessorer til understøttelse af blandet softwarearbejdsbelastning. (Billedkilde: NXP Semiconductors)

Til generelle formålsbehandlinger i realtid inkluderer i.MX 8X-enheder en Arm Cortex-M4 (CM4) -processor med floating point-enhed (FPU), hukommelsesbeskyttelsesenhed (MPU), hukommelseskortet kryptografisk accelerationsenhed (MMCAU) og diverse kontrolmodul (MCM). For at understøtte eksterne perifere enheder som sensorer og aktuatorer kombinerer dette bruger CM4-kompleks en indlejret vektorafbrydelsescontroller (NVIC) med et omfattende sæt af grænseflader og moduler, herunder periodisk afbrydningstimer med lav effekt (LPIT), pulsbreddemodulation (PWM) og andre funktioner, der ofte kræves i bilindustrien og industrien. Et par cachehukommelser og tæt koblet hukommelse (TCM) med fejlkorrektionskode (ECC) hjælper med at minimere ekstern hukommelsesadgang, hurtigere udførelse og håndtere hukommelsesfejl.

For hurtig udførelse af applikationsarbejdsbelastninger omfatter CPU-platformen flere strømeffektive Arm Cortex-A35 applikationsprocessorer (AP'er) - to AP'er i 8DualXPlus-processorer såsom MIMX8UX6AVLFZAC og fire AP'er i 8QuadXPlus-processorer som f.eks MIMX8QX6AVLFZAC. Sammen med dedikeret instruktion (I$) og data (D$) cache inkluderer CPU-platformen en delt 512 kilobyte (Kbyte) niveau 2 (L2) cache med ECC.

Arkitekturens Arm Cortex-A35-kerner giver både softwarekompatibilitet og ydeevne skalerbarhed og understøtter både 32-bit bagudkompatibilitet og 64-bit ydelse. For yderligere at fremskynde udførelsen af beregningsintensive algoritmer såsom signalbehandling og maskinindlæring leverer Arm Cortex-A35-processorer VFP-processer (float point) og Arm's Neon single instruction multiple data (SIMD) arkitekturudvidelser. For at fremskynde udførelsen af software til billedbehandling, computersyn og maskinindlæring, Arm Compute Library tilbyder funktioner, der er optimeret til Arm-processor- og grafikbehandlingsenhed (GPU) -arkitekturer og open source Ne10 C-biblioteket leverer armoptimerede funktioner til computerintensive operationer.

Dedikerede motorer aflaster primære CPU'er

Ud over brugerens CM4-kompleks og Arm Cortex-A35 multicore CPU-platform, giver arkitekturen yderligere dedikerede motorer til multimedieapplikationer. Sammen med en digital signalprocessor (DSP) til lyd- og stemmekodec-behandling integrerer arkitekturen både en GPU og en videobehandlingsenhed (VPU). Enhedens GPU understøtter standardgrafikbiblioteker, der accelererer operationer ved hjælp af fire separate firekomponent floating point vektorer (vec4) med 16 eksekveringsenheder og en højtydende, to-dimensioneret bit blit-motor. VPU'en håndterer populære videoformater, der accelererer dekodning op til 4Kp30 (progressiv, 30 Hz) og kodning op til 1080p30. Til gengæld kan chipens dedikerede skærmcontrollerblok drive grafikoutput til så mange som tre uafhængige skærme.

For yderligere at maksimere ydeevnen integrerer i.MX 8X-arkitekturen også yderligere processorkerner designet til at frigøre de primære CPU-platforme fra den ekstra procesbelastning, der typisk opstår i udførelsen af systemadministration og sikkerhedstjenester. Til systemadministration integrerer arkitekturens systemkontrolenhed (SCU) et CM4-kompleks, der matcher brugerens CM4-kompleks, men forbliver helt dedikeret til SCU-operationer og ikke tilgængeligt for udviklere (figur 3).

Diagram over dedikeret Arm Cortex-M4 (CM4) delsystem integreret dybt inde i NXP i.MX 8X processorerFigur 3: Integreret dybt inde i NXP i.MX 8X-processorer og utilgængelig for udviklere bruger SCU et dedikeret Arm Cortex-M4 (CM4) delsystem til at aflaste systemadministrationsopgaver fra enhedens hovedprocessorer. (Billedkilde: NXP Semiconductors)

Sammen med styring af strøm, clock og andre interne funktioner styrer SCU pin multiplexing og input/output (I/O) kanal drevstyrke i normal drift. Faktisk kan brugerens CM4-kompleks og Arm Cortex-A35 AP'er ikke få direkte adgang til disse forskellige hardwarefunktioner på lavt niveau. I stedet tjener SCU til at abstrakte disse muligheder, så software, der kører på brugerens CM4 eller AP'er, skal simpelthen ringe til SCU-firmware-applikationsprogrammeringsgrænseflade (API) -funktioner for at udføre funktioner såsom nedlukning af unødvendige strømdomæner. Hvis dette strømdomæne f.eks. deles med en anden processor, anerkender SCU simpelthen nedlukningsanmodningen, men holder domænet tændt, indtil den anden processor også udsender en nedlukningsanmodning.

For at administrere i.MX 8X-enhedens omfattende sikkerhedsstøtte kommer en anden dedikeret processor til spil i enhedens sikkerhedscontroller (SECO) delsystem. Inden for SECO-undersystemet udfører en integreret Arm Cortex-M0 + -processor firmware, der understøtter hardwarebaserede sikkerhedsfunktioner, herunder en privat busadgang til sikre nøgler, en engangsprogrammerbar (OTP) hukommelse til sikker nøgleopbevaring og sikker ikke- flygtig lagring (SNVS) til yderligere private data eller kortvarige nøgler (figur 4).

Diagram over NXP i.MX 8X sikkerhedscontroller (SECO) delsystemFigur 4: Inden for NXP i.MX 8X sikkerhedscontroller (SECO) -delsystemet administrerer en dedikeret Arm Cortex-M0 + -processor med lav effekt sikkerhedsoperationer, trækker på en privat nøglebus og flere hardwaremoduler til sikker opbevaring, kryptografiacceleration og godkendt fejlret adgang. (Billedkilde: NXP Semiconductors)

Ud over disse kernesikkerhedsmekanismer koordinerer SECO-undersystemet sikkerhedsoperationer til manipulationsdetektering og sikker fejlretning medieret gennem dets Authenticated Debug Module (ADM). For sikker udførelse understøtter det integrerede Cryptographic Acceleration and Assurance Module (CAAM) hardwaresikkerhedsmodul en komplet serie af sikkerhedsalgoritmer, herunder symmetrisk og asymmetrisk kryptografi, hash-funktioner og en tilfældig talgenerator (RNG).

I normal drift bruger enhedsbehandlingsenheder inklusive SCU, AP'er og DTCP-accelerator (Digital Transport Content Protection) SECO-sikkerhedsforbindelsen til at få adgang til CAAM-funktionalitet gennem systembussen. Bortset fra adgang via CAAM direkte hukommelsesadgang (DMA) -funktionalitet kan SECO's dedikerede Cortex-M0 + -processor ikke få adgang til systembussen. I stedet bruger den beskyttede interne forbindelser til at få adgang til perifert udstyr, sikker hukommelse (RAM) og skrivebeskyttet hukommelse (ROM) og dens specielle private nøglebus.

Sammen med brugen af DTCP-acceleratoren spiller denne private nøglebus en central rolle i i.MX 8X-processorsupport til on-the-fly kryptering og dekryptering. Her bruger sikkerhedsprocessoren sine ressourcer til at levere private nøgler, der er nødvendige af enhedens Inline Encryption/Decryption Engine (IEE) -modul, når det sikkert læser fra eller skriver til krypteret lager uden involvering af den anmodende processor, DMA-controller eller I/O enhed.

Baseret på Arm's TrustZone-teknologi integreret i enhedens Cortex-A35-processorer fungerer SECO-undersystemet også med SCU under den sikre opstartsproces. I denne proces fortolker SCU opstartsindstillinger, konfigurerer opstartkilderne og indlæser opstartsbilleder til intern eller ekstern hukommelse. Til gengæld bruger SECO-undersystemet sine kryptografifunktioner til at godkende signerede firmwarebilleder, efter at de er indlæst, men før de udføres.

Beskyttelse af kritiske skærme og kontrolfunktionalitet

Selvom evnen til at behandle forskellige arbejdsbelastninger effektivt og sikkert er vigtig, er det for missionskritiske applikationer som dem, der findes i bilindustrien og industrien, lige så vigtigt. NXPs i.MX 8X-familie kombinerer sine behandlingsfunktioner med sikkerhedscertificerbare funktioner, der kræves for at opfylde disse kritiske krav.

Processorfamiliens sikkerhedssupport er indbygget i en række niveauer, startende med fabrikation i et fuldt udtømt silicium på isolator (FD-SOI) procesteknologi, der forbedrer systemets pålidelighed. Da systemsikkerhed afhænger af et robust sikkerhedsgrundlag, kan kombinationen af TrustZone-aktiverede AP'er, SECO-undersystemet og sikre opstartsfunktioner give den slags pålidelige miljø, der er nødvendige for at modvirke trusler mod sikkerhed og sikkerhed.

Samtidig hjælper evnen til uafhængigt at håndtere tidskritiske opgaver med brugerens CM4-komplekse og aflaste kritiske systemopgaver til SCU- og SECO-undersystemerne med at sikre, at missionskritiske applikationsfunktioner forbliver tilgængelige på trods af varierende behandlingsbelastning. Faktisk udvider NXP dette koncept til at understøtte missionskritiske skærme gennem virksomhedens SafeAssure-teknologi, der integrerer en Automotive Safety Integrity Level B (ASIL B) -klar hardware-failover-sti i i.MX 8X-enheder. Med SafeAssure forsynes brugerne automatisk med et failover-billede, hvis enheden registrerer en dataintegritet eller GPU-fejl. Kører i baggrunden, dette failover-billede sikrer, at kritisk information forbliver tilgængelig, selv under fejl i den primære skærm.

Understøttelse af sikkerhedsapplikationer udvides til hukommelsesadgang i i.MX 8X-baserede systemer. Blandt deres understøttede hukommelsesgrænseflader leverer i.MX 8X-enheder 8-bit ECC til DDR3L-hukommelse (Double Data Rate 3 low voltage). Sammen med ECC i L2-cache (se figur 2 igen) understøtter denne DDR3L ECC-kapacitet industriel sikkerhedsintegritetsniveau 3 (SIL 3). I.MX 8X-arkitekturen udvider også ECC-understøttelse til eksterne flash-lagerenheder. Her giver et integreret Bose, Ray-Chaudhuri, Hocquenghem (BCH) -koder og dekodermodul 62-bit ECC, der er i stand til at korrigere 2 til 20 enkelt-bitfejl inden for en blok af data, der læses fra disse lagerenheder.

Henter i.MX 8X-baserede applikationer

Som med enhver processor i denne klasse kræver implementering af et i.MX 8X-baseret design nøje opmærksomhed på strenge krav til strøm, herunder kritiske opstartssekvenser. Opstart af i.MX 8X-enheder kræver, at der strømes op i rækkefølge eller samtidigt til fire forskellige forsyningsgrupper, startende med SVNS-undersystemet og fortsætter med SCU, I/O'er og hukommelsesgrænseflader og endelig resten af enheden. Udviklere kan opfylde dette krav ved blot at bruge NXPs PF8x00 PMIC-enheder (Power Management Integrated Circuit), der leverer et komplet sæt spændingsskinner og kontrolsignaler, der er nødvendige for at understøtte i.MX 8X-processorer samt ekstern hukommelse og typiske systemudstyr (Figur 5) .

Diagram over NXP PF8x00 PMIC'er giver et komplet sæt spændingsskinnerFigur 5: NXP PF8x00 PMIC'er giver et komplet sæt spændingsskinner og kontrolsignaler, der er nødvendige for at drive i.MX 8X-processorer. (Billedkilde: NXP Semiconductors)

Ved implementering af deres egne i.MX 8X-baserede design kan udviklere bruge NXP MC33PF8100CCES PMIC, som er forprogrammeret til brug med 8QuadXPlus-processorer såsom MIMX8QX6AVLFZAC. Andre PF8x00 varianter som f.eks MC33PF8100A0ES og MC33PF8200A0ES understøtter i.MX 8X-processorer, men er ikke forprogrammeret.

Til sikkerhedsapplikationer integrerer enheder i PF8200-serien såsom MC33PF8200A0ES funktioner designet til at understøtte ASIL B-systemer. Sammen med flere interne skærme inklusive en udgangsspændingsmonitor med en dedikeret båndgapreference inkluderer PF8200 PMIC'er en FSOB-pin (fail-safe output) designet til at holde systemet i en sikker tilstand under opstart eller under en strømafbrydelseshændelse. Derudover tester en analog indbygget selvtest (ABIST) rutine alle spændingsmonitorer, mens en selvtestrutine verificerer anden enhedsfunktionalitet.

Selvom PF8x00 PMIC'er kan forenkle hardware design af i.MX 8X-baserede systemer, kan nogle udviklere muligvis straks begynde at evaluere i.MX 8X enheder og hurtigt prototype i.MX 8X-baserede applikationer. NXP'er MCIMX8QXP-CPU i.MX 8X Multisensory Enablement Kit (MEK) giver en klar udviklingsplatform, der kombinerer en NXP i.MX 8QuadXPlus-processor, NXP F8100 PMIC, 3 gigabyte (Gbyte) RAM, 32 Gbyte integreret Multi-Media Controller (eMMC) hukommelse og 64 megabyte (Mbyte) flashhukommelse. Sammen med display-, kamera- og lydgrænseflader inkluderer MEK-kortet et sæt sensorer, der typisk bruges i bil- eller industrielle applikationer. For yderligere tilslutningsmuligheder, lyd og udvidelsesmuligheder kan udviklere også tilføje NXPs valgfri MCIMX8-8X-BB grundkort.

Konklusion

For et voksende antal applikationer såsom bilindustrien, industrien, bygningskontrol og HMI'er er arbejdsbelastningen blevet udvidet til at omfatte både traditionel realtids I/O-behandling og ny applikationsniveaubehandling med multimediegrafik. Selvom der findes designmuligheder for hver type arbejdsbelastning, imødekommer få tilgængelige løsninger det voksende behov for højeffektive, energieffektive løsninger, der er i stand til at opfylde kravene til sikkerhedscertificerbare designs i bil- og industrielle applikationer.

Som vist ved hjælp af en familie af multicore-processorer fra NXP Semiconductors, kan udviklere mere effektivt implementere design, der er i stand til at imødekomme disse forskellige krav og let skalere for at imødekomme nye krav til høj ydeevne.

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of Digi-Key Electronics or official policies of Digi-Key Electronics.

Om denne forfatter

Stephen Evanczuk

Stephen Evanczuk has more than 20 years of experience writing for and about the electronics industry on a wide range of topics including hardware, software, systems, and applications including the IoT. He received his Ph.D. in neuroscience on neuronal networks and worked in the aerospace industry on massively distributed secure systems and algorithm acceleration methods. Currently, when he's not writing articles on technology and engineering, he's working on applications of deep learning to recognition and recommendation systems.

Om udgiveren

Digi-Keys nordamerikanske redaktører