Forståelse af multikerneprocessorer til berøringsskærmsgrænseflader

Forståelse af multikerneprocessorer til berøringsskærmsgrænseflader
Billede Kilde: pexels

Hvordan forbedrer multi-core-processorer touchscreen-oplevelsen? Du spørger måske dette, når dit design bliver langsommere. Touchscreen-grænseflader kræver hurtige, forudsigelige reaktioner, god strømforbrug og problemfri håndtering af mange opgaver på én gang.

En multi-core processor placerer flere uafhængige processorenheder på én chip. Denne opsætning gør det muligt for berøringsskærmsopgaver at køre på samme tid. Du kan bruge én kerne til berøringssampling, en anden til bevægelsesgenkendelse og en tredje til synkronisering af skærmopdatering. Dette multi-core design reducerer forsinkelsen.

Studier viser, at en samlet forsinkelse under 100 millisekunder føles øjeblikkelig. Industrielle HMI'er har brug for en forsinkelse på eller under 50 millisekunder. Hurtige kiosker har brug for koordinatrapporteringshastigheder på mindst 120 Hz. En forsinkelse på et par hundrede millisekunder føles langsom.

Denne artikel forklarer multi-core-arkitektur på en enkel måde. Du vil se klare fordele ved brug af touchscreens og få en vejledning i at vælge den rigtige processor. Det valg påvirker, hvor godt dit design fungerer.

Nøgleforsøg

  • Multi-core-processorer håndterer berøringsopgaver samtidigt. Dette reducerer forsinkelser og får skærmene til at føles umiddelbare.

  • Specielle kerner kun til berøring og skærm forhindrer ressourcekonflikter. Dette holder svartiderne under 50 millisekunder.

  • Deling af opgaver mellem kerner bruger mindre strøm. Dette får batteriet til at holde længere uden at gøre tingene langsommere.

  • Operativsystemer i realtid håndterer berøringshændelser med høj prioritet. Dette sikrer, at svarene er hurtige og forudsigelige.

  • Vælg en multi-core processor, der passer til dine behov. Tænk på realtidsgrænser, batterilevetid og varme.

Multicore-processorer i touchscreen-design

Multicore-processorer i touchscreen-design
Billede Kilde: unsplash

Definition af multicore-arkitektur til touch-applikationer

En multicore-processor placerer to eller flere uafhængige processorenheder på én chip. Hver enhed, kaldet en kerne, kan køre instruktioner alene. Dette er forskelligt fra en single-core CPU, der udfører hver opgave efter den anden.

En multi-core processor er en CPU, der har to eller flere uafhængige kerner på én chip.

For touchscreen-apps er denne opsætning vigtig, fordi forskellige opgaver kræver forskellige ressourcer. Berøringssampling, bevægelsesgenkendelse og UI-rendering kræver hver især deres egen opmærksomhed. Et multi-core-design giver dig mulighed for at give disse opgaver til separate kerner. Du undgår den afmatning, der opstår, når én processor håndterer alt på én gang.

Hovedideen er opgaveadskillelse. Når du giver én kerne inputhåndtering og en anden kerne viser opdateringer, venter ingen af ​​opgaverne på den anden. Denne opdeling forbedrer effektiviteten og reducerer synlig forsinkelse.

Parallel behandling for berøringsfølsomhed

Parallel processering betyder, at flere kerner arbejder på samme tid på forskellige opgaver. Tænk på en platform med to ARM-processorer, der er bygget til måleværktøjer:

  • Én processor (slave ARM) håndterer skærmhændelser, berørings-/knapinput og tegning af brugergrænsefladen.

  • Den anden processor (master ARM) fokuserer kun på kernemålingsopgaver.

  • Master ARM'en udfører højhastighedssampling ved 100 kS/s uden at stoppe.

  • Slave-ARM'en kører det grafiske display alene, så kurveplotningen forbliver jævn.

Denne opdeling stopper ressourcekampe. I et system med én ARM bliver samplingtiderne længere, og data går tabt, fordi processoren skal skifte mellem job. Med multicore-processorer forsvinder dette problem.

Resultatet er lavere systemresponsforsinkelse. Din berøringsskærm føles øjeblikkelig, fordi skærmen aldrig kæmper med måleopgaver om computerkraft. Denne opsætning understøtter også flere kerner til forskellige opgaver, hvilket giver dig designfleksibilitet.

For ingeniører betyder det, at de kan vælge processorer baseret på deres præcise behov. Nogle designs kræver to kerner; andre fungerer bedre med fire eller flere. Multikernetilgangen vokser med dine behov, uanset om du bygger en simpel kiosk eller et komplekst industrielt HMI.

Hastighedsgevinsten er tydelig, når man sammenligner responstider. En single-core processor skal afslutte ét job, før den starter et andet. En multi-core processor gør begge dele på én gang, hvilket reducerer synlig forsinkelse betydeligt.

Vigtigste fordele ved multicore-processorer

Reduktion af inputlatens gennem kerneallokering

Når du giver dedikerede kerner til specifikke berøringsskærmsopgaver, fjerner du flaskehalsen, der forårsager inputforsinkelse. Et system med én kerne skal håndtere berøringssampling, bevægelsesdekodning og skærmopdateringer efter hinanden. Hver opgaveskift tilføjer adskillige millisekunder overhead. Med et multi-core design tildeler du én kerne udelukkende til berøringsinputbehandling. En anden kerne håndterer skærmopdatering. En tredje kerne styrer baggrundshandlinger som netværkskommunikation eller datalogning.

Disse processorer kombinerer funktioner på en enkelt chip. Du reducerer antallet af indlejrede computere. Materialelisten falder. Dit design skaleres nemt på tværs af produktniveauer. Multi-core processorarkitekturen giver også opgaveisolering. Berøringsbehandling på sin egen dedikerede kerne konkurrerer aldrig med displayopgaver om beregningstid. Nulstillingsisolering fungerer på samme måde. Hvis én kerne går ned, fortsætter de andre kerner med at køre. Din berøringsskærm forbliver responsiv, selv under en delvis fejl. Denne pålidelighed er vigtig for kritiske applikationer som f.eks. infotainmentsystemer i biler.

Kerneallokering forbedrer også forudsigeligheden af ​​latenstid. Du indstiller afbrydelsesprioriteter på hver kerne. Berøringshændelser med høj prioritet får øjeblikkelig opmærksomhed uden at vente på, at en frame fuldføres. Skærmrenderingskernen arbejder i et stabilt tempo. Den stjæler aldrig cyklusser fra inputkernen. Denne multikernestrategi leverer en ensartet responstid på under 50 millisekunder, der opfylder industrielle HMI-krav. Dine brugere oplever aldrig en forsinkelse mellem berøring og visuel feedback.

Energieffektivitet i mobile berøringsskærme

Ved at sprede arbejdsbyrden på tværs af flere kerner kan du køre hver kerne med en lavere frekvens. En single-core processor ville have brug for høj frekvens for at håndtere alle opgaver. Den høje frekvens genererer mere varme og aflader batteriet hurtigere. Strømforbruget skaleres med kvadratet af spændingen. Lavere frekvens giver mulighed for lavere spænding, hvilket reducerer strømforbruget betydeligt. Et multi-core system spreder det samme samlede arbejde over flere kerner. Hver kerne kører med en moderat hastighed. Denne opsætning reducerer det samlede strømforbrug betydeligt.

Tænk på en mobil enhed. En kerne behandler berøringsbevægelser. En anden kerne gengiver brugergrænsefladen. En tredje kerne håndterer trådløs kommunikation. Hver kerne kører ved en lavere frekvens end et alternativ med én kerne ville have brug for. Den samlede energieffektivitet forbedres, fordi hver kerne opererer i sit mest effektive spændingsområde. Resultatet er længere batterilevetid uden at gå på kompromis med brugeroplevelsen.

Varmeudviklingen falder også med denne arkitektur. En enkelt højfrekvent kerne skaber et koncentreret hotspot på chippen. Dette hotspot tvinger systemet til at sænke ydeevnen eller aktivere aktiv køling. Et design med flere kerner spreder den termiske belastning på tværs af chippen. Hver kerne genererer mindre varme. Du kan bruge passiv køling og holde enheden slank og stille. Dette er vigtigt for mobile applikationer, hvor batterilevetid, overfladetemperatur og formfaktor er kritiske begrænsninger.

Multikernetilgangen understøtter også dynamisk spændings- og frekvensskalering. Du kan lukke ubrugte kerner helt ned. Når berøringsskærmen er inaktiv, forbliver kun én kerne med lavt strømforbrug aktiv. De andre slukker og sparer energi. Denne finjusterede kontrol leverer bedre effektivitet end et design med én kerne. En multikerneprocessor giver dig fleksibilitet til at balancere strøm og ydeevne efter behov. Mange indlejrede applikationer bruger nu multikerneprocessorer til netop disse fordele. Processordesignet reducerer også den samlede CPU-belastning under spidsbelastning.

For batteridrevne enheder betyder denne effektivitet længere driftstid. En smartphone med en multi-core processor kan holde en hel dag. En industriel tablet med et multi-core design kan fungere i en hel vagt uden genopladning. Strømbesparelserne reducerer kølebehovet, hvilket sænker systemomkostningerne og forlænger komponenternes levetid. Disse fordele gør multi-core arkitektur til det foretrukne valg for moderne touchscreen-enheder.

Multicore vs. Single-Core processor ydeevne

Håndtering af kontinuerlige inputstrømme og afbrydelser

En single-core processor udfører berøringsskærmsopgaver én efter én. Den sampler berøringen, læser derefter bevægelsen og tegner derefter rammen. Hvert trin venter på det foregående. Denne trinvise proces forårsager forsinkelser, når input fortsætter med at komme ind. En bruger trækker en skyder, og skærmen halter bag fingeren. Processoren kan ikke følge med, fordi den skal skifte mellem opgaver hele tiden.

En multi-core processor kører de samme job på samme tid. Én kerne sampler touch-controlleren med en stabil hastighed. En anden kerne læser bevægelsesmønsteret. En tredje kerne tegner den nye ramme. Inputtet venter aldrig på, at tegningen er færdig. Denne parallelle metode fjerner den blokering, der forårsager synlig forsinkelse. Du får stabile svartider, selv når systemet er optaget.

Men multi-core design medfører sine egne problemer, kaldet mcp-problemer. Cache-kohærens betyder, at alle kerner skal se de samme data. Hvis én kerne ændrer et berøringspunkt, skal en anden kerne se den ændring med det samme. Kommunikation mellem kerner tilføjer ekstra arbejde. Kerner skal sende beskeder via delt hukommelse eller specielle kanaler. Load balancing er også vigtig. Hvis én kerne påtager sig for mange job, bliver den en flaskehals. Du skal opdele arbejdet omhyggeligt for at holde alle kerner beskæftiget uden at overbelaste nogen af ​​kernerne.

Praktiske anvendelsesscenarier: Bilindustrien og mobil

Bilers infotainmentsystemer viser værdien af ​​multi-core design. En moderne bil har mange skærme, kamerafeeds og sensorinput. Én kerne håndterer berøringsskærmen. En anden kerne behandler bakkameradata. En tredje kerne styrer navigation og lyd. Disse job kører på samme tid uden at være i vejen for hinanden. Føreren får øjeblikkelig berøringsrespons, mens systemet håndterer komplekse datastrømme. Pålidelighed forbedres, fordi en fejl i én kerne ikke får hele systemet til at gå ned.

Mobiltelefoner balancerer hastighed med batterilevetid ved hjælp af samme metode. En multi-core processor giver berøringsbehandling sin egen kerne. Andre kerner håndterer baggrundsjob eller lukker helt ned. Ydelsesforbedringen er tydelig. Mobile processorer leverer op til 172% mere CPU-ydeevne pr. watt . Grafikydeevnen forbedres med op til 212% pr. watt. Visuelle ydeevneforbedringer når 132% pr. watt. Produktivitetsydelsen forbedres med op til 127% pr. watt. HD-videoafspilning bliver 51% mere energieffektiv.

Reaktionsgradsmåling

Batterieffektivitetsmåling

Op til 172 % mere CPU-ydeevne pr. watt

Op til 12 timers batterilevetid i hviletilstand

Op til 212 % bedre grafikydelse pr. watt

Op til 45 % længere batterilevetid sammenlignet med konkurrenterne

Op til 132 % bedre visuel ydeevne pr. watt

Op til 25 % bedre energieffektivitet end tidligere generationer

Op til 127 % bedre produktivitet pr. watt

Op til 11 timers batterilevetid ved inaktivitet

Op til 51% mere energieffektivitet ved HD-videoafspilning

Op til 13 timers batterilevetid i hviletilstand

Disse tal viser effektivitetsforbedringen ved multi-core design. Du får hurtigere respons uden at miste batterilevetid. Processoren kører hver kerne med en lavere hastighed, hvilket reducerer strømforbruget. Denne energieffektivitet forlænger enhedens brugstid. En smartphone holder til en hel dag med intensiv brug. Et bilsystem fungerer pålideligt under barske forhold. Multicore-processorerne leverer en hastighed og effektivitet, som single-core designs ikke kan matche. Dine applikationer drager fordel af denne afbalancerede tilgang til ydeevne og kraft.

Designovervejelser for multicore-berøringsskærmssystemer

Designovervejelser for multicore-berøringsskærmssystemer
Billede Kilde: unsplash

Kerneallokeringsstrategier og opgavepartitionering

Du skal omhyggeligt opdele berøringsskærmsopgaver på tværs af kerner. En god multi-core-strategi dedikerer én kerne til berøringsinputbehandling. En anden kerne håndterer UI-rendering. En tredje kerne styrer baggrundshandlinger som netværkskommunikation eller datalogning. Denne partition forhindrer ressourcekampe. Den holder svartiderne lave. Dit design skal afbalancere arbejdsbyrden på tværs af systemet.

Tænk på et typisk touchscreen-system. Touchcontrolleren sender data med en fast hastighed. Din inputkerne læser disse data hver frame. Den behandler rå berøringspunkter. Den filtrerer støj. Den sporer fingerbevægelser. Renderingskernen tager resultaterne og tegner den nye skærm. Baggrundskernen håndterer WiFi, Bluetooth eller datalagring. Hver kerne har et klart job. Ingen kerne venter på en anden.

Dårlig kerneallokering skaber problemer på et system med flere kerner. Hardware-delte ressourcer forårsager interferens mellem kerner. Disse ressourcer omfatter hukommelsesbusser, cacher og hukommelsescontrollere. Når to kerner tilgår den samme ressource på samme tid, skal én kerne vente. Denne interferens forårsager ikke små forsinkelser. Den udvider fordelingen af ​​udførelsestid. Du får et uforudsigeligt mønster med en lang hale. Opgaver, der burde afsluttes hurtigt, kan tage meget længere tid. Softwarepartitionering kan ikke løse dette fuldt ud. De fleste HSR'er tillader ikke ren partitionering. De allokeres kun, når en opgave tilgår dem. Du kan ikke begrænse en softwarepartition til dens allokerede HSR'er. Resultatet er ikke-deterministisk adfærd. Kritiske opgaver fuldføres muligvis ikke inden for strenge tidsbegrænsninger.

Ujævn fordeling af arbejdsbyrden skader også ydeevnen. Nogle opgaver kører meget hurtigt. Andre opgaver tager betydelig tid. Hurtige opgaver bruger tid på at vente på lange opgaver. Beregningsressourcer sidder inaktive. Ydeevneskalering lider. Dit multi-core touchscreen-system mister respons. Du skal profilere din applikation. Du skal vide, hvor lang tid hver opgave tager. Derefter kan du tildele opgaver til kerner på en afbalanceret måde.

Dit mål er en afbalanceret arbejdsbyrde. Hver kerne skal have et klart job. Ingen kerne skal vente på en anden. Denne balance forbedrer effektivitet og pålidelighed. Mange applikationer drager fordel af denne multi-core-tilgang. Du kan vælge mellem 32-bit og 64-bit arkitekturer. En multi-core-processor med fire eller flere processorenheder fungerer godt til både kabelbaseret og trådløs kommunikation.

Operativsystemsupport og realtidsplanlægning

Dit valg af processor påvirker systemets ydeevne. Operativsystemet er også vigtigt. Generelle planlæggere optimerer for gennemløb og retfærdighed. De skaber uforudsigelig timing for berøringshændelser på en multi-core processor. En planlæggerprioritetsinversion kan forekomme. Din berøringshændelsestråd bliver forsinket bag baggrundsopgaver. Svartider bliver variable. En opgave med lav prioritet kan indeholde en lås. En berøringstråd med høj prioritet har brug for den lås. Tråden med høj prioritet blokeres. Forsinkelsen vokser.

Du har brug for et operativsystem med deterministisk planlægning. Realtidsoperativsystemer løser dette problem. Et RTOS bruger prioritetsbaseret præemptiv planlægning . En berøringshændelseshandler med høj prioritet kan afbryde arbejde med lavere prioritet med det samme. Hændelsen behandles inden for en begrænset tid. Afbrydelseslatenstiden forbliver hurtig og forudsigelig. Et generelt operativsystem kan have ubegrænsede afbrydelseshåndteringsforsinkelser. RTOS-kernen garanterer, at din berøringshandler kører inden for et fast tidsvindue. Denne garanti kommer fra scheduler-designet. Scheduleren vælger altid den opgave med den højeste prioritet, der er klar. Din berøringshandler har den højeste prioritet. Den venter aldrig på baggrundsarbejde.

CPU-afskærmning hjælper også. Du dedikerer en multi-core processorkerne udelukkende til tidskritisk berøringsbehandling. Du isolerer den fra kerne-dæmoner og afbryder de nederste halvdele. Dette forhindrer OS-aktivitet i baggrunden i at stjæle cyklusser. Timing af berøringshændelse bliver deterministisk. Den processorarkitektur, du vælger, skal understøtte disse mål. Mange moderne processorer giver dig mulighed for at indstille CPU-affinitet. Du fastgør din berøringshåndtering til en bestemt kerne. Andre processer kan ikke køre på den kerne. Resultatet er en ensartet respons med lav latenstid.

Disse overvejelser er vigtige for virkelige applikationer. Dit bilinfotainmentsystem har brug for pålidelig berøringsrespons. Din mobilenhed har brug for ensartet ydeevne. Vær opmærksom på MCP-problemer som cache-kohærens og kommunikation mellem kerner. Et veldesignet multi-core-system leverer den responsivitet, som brugerne forventer. Multicore-processorer giver dig fleksibiliteten til at afbalancere alle disse faktorer i dit design.

Multi-core-processorer transformerer berøringsskærme gennem intelligent ressourcestyring, ikke kun rå hastighed. Du får reduceret latenstid, lavere strømforbrug og mere jævn multitasking på tværs af dine designmål.

Moderne muligheder demonstrerer denne udvikling:

  • Intel Atom® x7000RE-processorer tilbyder op til fire kerner til parallelle kantapplikationer.

  • Arm®-processorer har seks kerner, der balancerer ydeevne med effektivitet til Linux®-baserede HMI-løsninger.

Evaluer dine realtidsbegrænsninger, batterilevetid og termiske grænser, før du vælger arkitekturer. Dine specifikke krav afgør, om multi-core eller single-core passer bedst.

Nye teknologier som haptik og foldbare skærme vil kræve endnu større parallel processorkraft. Multi-core-design placerer dig foran disse fremskridt og er klar til næste generations touchscreen-oplevelser.

Ofte stillede spørgsmål

Hvordan reducerer et multi-core design latenstid på berøringsskærme?

Et design med flere kerner tildeler berøringsinput til én kerne. En anden kerne håndterer visning af skærmen. Din processor skifter ikke længere mellem opgaver. Disse opgaver kører parallelt. Du eliminerer den sekventielle flaskehals. Den samlede forsinkelse forbliver under 50 millisekunder.

Hvilken rolle spiller kerneallokering i energieffektivitet?

Du fordeler arbejdsbelastninger på tværs af kerner i et system med flere kerner. Hver kerne kører med en lavere frekvens. Lavere frekvens reducerer spændingen. Denne tilgang forlænger batterilevetiden uden at gå på kompromis med ydeevnen.

Hvilke udfordringer følger med en multi-core arkitektur?

Cache-kohærens, kommunikation mellem kerner og load balancing kan forårsage problemer. Én kerne skal se ændringer foretaget af en anden kerne. Uden omhyggeligt design bliver svartider uforudsigelige.

Hvordan understøtter en RTOS multi-core touchscreen-systemer?

Et realtids-OS bruger prioritetsbaseret planlægning. Din berøringshåndtering får den højeste prioritet. Den foregriber opgaver med lavere prioritet. Dette garanterer begrænsede svartider for hver berøringshændelse.

Hvad skal man overveje, når man vælger en multicore-processor?

Evaluer dine realtidsbegrænsninger, batterilevetid og termiske grænser. En multi-core processor med dedikerede kerner til berøringsbehandling giver den bedste respons. Mange moderne applikationer bruger multi-core processorer for deres effektivitet.

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *