Perché i telefoni Android hanno più core rispetto ai computer?


80

I laptop di solito hanno al massimo quattro core e i dualcore sono probabilmente più comuni. Di recente sono passato da quadcore a dualcore e posso confermare che esiste un numero limitato di casi d'uso per quadcore, anche con attività che richiedono molta CPU.

D'altra parte, sui telefoni cellulari, quadricores, hexacores e octacores sembrano essere comuni. Perché? Quali compiti possono utilizzarli?

Capisco che big.LITTLE può essere una parte della risposta. Cioè, il vantaggio principale di così tanti core non è la capacità di usarli tutti contemporaneamente, ma piuttosto di usare un core con un consumo di energia adeguato al carico di lavoro corrente. Tuttavia, ad esempio, lo Snapdragon 625 ha otto core Cortex-A53, che non sembrano essere un caso per big.LITTLE.

Forse l'architettura ARM ha un punto inferiore di prestazioni ottimali per watt. Cioè, avere un singolo core ottimizzato per prestazioni ottimali per watt comporta prestazioni inferiori su ARM rispetto a Intel. Pertanto, vengono utilizzati più core per fornire le prestazioni. Questa è solo un'ipotesi.

Ma anche in questo caso, non vedo quale carico di lavoro può utilizzare in modo efficiente, ad esempio, otto core su un telefono cellulare. Sui laptop, posso immaginare alcuni come la compilazione completa (non incrementale) di un progetto. Ma al telefono?

  • I giochi possono avere fame di prestazioni, ma di solito richiedono prestazioni GPU piuttosto che CPU, no?
  • Teoricamente, più core potrebbero velocizzare la compilazione di Android Lollipop / Marshmallow AOT durante l'installazione o l'aggiornamento (ovvero la fase "Ottimizzazione delle app 3/121"). Tuttavia, non sono sicuro che questo possa utilizzare più core. Per quanto ricordo il codice, viene compilata solo un'app alla volta, ma forse c'è un certo parallelismo all'interno del processo di compilazione stesso.
  • Anche Android 7+ potrebbe utilizzare più core durante la compilazione. Ma dal momento che si dice che si compili quando è inattivo e in carica, il vantaggio sembra essere piuttosto minimo. Almeno quando si carica il telefono durante la notte - in realtà non mi interessa se ci vogliono 30 minuti o due ore in uno scenario del genere.

Come ho indicato nella mia risposta, tieni presente che sembra che tu stia guardando le cose sottosopra. Molte esecuzioni core / parallele sono la norma, non è il tuo telefono che è un'anomalia per avere molti core, è la CPU del PC che è un'anomalia.
motoDrizzt,

4
La tua domanda è difettosa, i PC possono avere più core rispetto ai telefoni. intel.com/content/www/us/en/products/processors/core/x-series/… E questo non sta nemmeno entrando in macchine di classe server, che possono avere dozzine o addirittura centinaia di core. (E alcuni supercomputer entrano nella gamma delle migliaia di core.)
JAB

3
@JAB Certo, ma non sto parlando del numero massimo di core, piuttosto del numero tipico. Per i laptop, più dei quad core sono piuttosto rari, ma potresti trovare qualche eccezione, forse con Xeon. Per i telefoni cellulari, anche gli ottacori sembrano essere relativamente comuni.
v6ak,

4
"Di recente sono passato da quadcore a dualcore e posso confermare che esiste un numero limitato di casi d'uso per quadcore, anche con attività che richiedono molta CPU." - Puoi espandere ed elaborare come sei arrivato a questa conclusione?
Abdul,

@Abdul Viene principalmente dalle mie osservazioni (vedere il caricamento del sistema usando htop o uno strumento simile) e parzialmente dalle mie conclusioni. Anche alcuni taksk in cui mi aspetterei la parallelizzazione (ad es. Rendering con OpenScad) sono single-core. Firefox (ESR) di solito consuma al massimo un core. Compilazione incrementale: non l'ho misurata, ma intuitivamente non ci sono molte opportunità di trovare attività indipendenti. (La compilazione completa è un caso diverso.)
v6ak,

Risposte:


63

Come hai già notato, la strategia di combinazione big.LITTLE (tecnicamente, HMP , cluster multi-elaborazione eterogenei ) è la ragione principale di tanti core (e talvolta in modo schiacciante). Un dispositivo mobile si imbatte spesso in più scenari, inclusi quelli a carico pesante e leggero.

Un esempio estremo di classe per i consumatori è Helio X20 di MediaTek, che ha 2 core A72 orientati alle prestazioni, 4 core A53 bilanciati e 4 core A35 a risparmio energetico. È molto flessibile in diversi casi d'uso. Tuttavia, penso che 8 cluster 2 core siano in genere sufficienti.

C'è anche un altro esempio simile al desktop, la serie Snapdragon 800 di Qualcomm (S 800, S 801 e S 805). Esistono solo 4 core della stessa microarchitettura in ciascun SoC, con 2 con clock superiore e 2 con clock inferiore. Qualcomm ha realizzato questi SoC perché erano molto fiduciosi della propria microarchitettura (Krait 400 e Krait 450).

Per i giochi, anche se apparentemente richiedono prestazioni GPU piuttosto che CPU, mettono comunque un carico pesante sulla CPU. Una GPU non può funzionare da sola senza che qualcos'altro fornisca i dati da elaborare, e questo è uno dei principali lavori che la CPU sta facendo mentre giochi. Nella maggior parte dei casi di gioco, la GPU esegue il rendering solo della grafica, mentre tutti gli altri lavori come il caricamento di dati, risorse e risorse e il calcolo delle meccaniche di gioco come il sistema, l'ambiente e la fisica vengono eseguiti dalla CPU. Non osserverai un frame rate più alto se aggiorni la tua GPU mentre ti attacchi a una CPU di fascia bassa.

Un motivo secondario è il modo in cui Android utilizza le risorse della CPU . Android crea praticamente il proprio ambiente applicativo. Non utilizza altro che codici (e API) di Java, ma ha una propria macchina virtuale chiamata Dalvik, che è stata successivamente sostituita da ART (API Level 21). Gli APK hanno i loro codici eseguibili in un formato "neutro", molto simile ai .classfile in Java. Prima di essere eseguiti, i codici vengono nuovamente compilati nelle istruzioni native della macchina [1] . Il processo di compilazione è multi-thread e può utilizzare multi-core per un aumento delle prestazioni.
E quando un'app è in esecuzione, ci sono molti altri processi e meccanismi (come Garbage Collector) che vengono eseguiti a fianco o parallelamente all'app. Più core possono consentire ai processi di supporto di funzionare in modo più efficiente, così come l'app principale.
1. Se usi un identificatore del tipo di file, scoprirai che i file dex "ottimizzati" sono in formato ELF, mentre i file dex "neutri" sono solo in un formato a parte.

Un'altra ragione minore è che i core ARM non possono funzionare velocemente come un chip Intel x86 . La microarchitettura Intel x86 può essere fatta risalire al 1976, quando iniziò a essere progettato il chip Intel 8086 , il che significa che l'x86 si è sviluppato da molto tempo. Un singolo core ARM Cortex-A73 moderno di fascia alta è potente quanto un core Intel Clarkdale, prendendo come esempio Core i5-660 (GeekBench, single-core). Questo perché x86 è una microarchitettura CISC mentre ARM è un RISCmicroarchitettura. Sicuramente non vuoi un telefono che si ritarda con solo due o più app attive. Più core aiuteranno ad alleviare la pressione. Ecco perché i SoC dual-core sono relativamente popolari solo sugli orologi intelligenti. Chi ha bisogno di prestazioni su un orologio intelligente?

È interessante notare che più core comporteranno meno energia di un singolo core allo stesso carico . La relazione tra la frequenza della CPU e il consumo energetico è più che lineare, quindi il doppio della frequenza comporterà sempre più del doppio, o addirittura 3x o 4x della potenza, offrendo prestazioni inferiori al doppio (a causa di altre limitazioni delle risorse come la cache ). Quindi 4 core possono facilmente battere un singolo core allo stesso carico, fornendo prestazioni migliori e contemporaneamente richiedendo meno potenza.

Ulteriori letture:


1
Ricordo di aver letto o visto da qualche parte che il kernel Linux aveva originariamente lavorato su un buon supporto multi-core con un focus sui supercomputer, molti anni fa, e questi sforzi si sono rivelati utili "in futuro" (ora) per gli smartphone, come una specie di " incidente "
Marc.2377,

3
Questa risposta non sembra rispondere effettivamente alla domanda, nonostante sia stata accettata. Questa risposta sembra rispondere "Perché dovrei volere core extra nel mio telefono?" che non è la domanda a portata di mano. Non spiega la differenza tra PC e telefono. I punti dati sul perché un telefono potrebbe richiedere più core si applicano anche ai computer desktop, in particolare i punti sui giochi.
Aaron,

8
L'affermazione del 1976 sulle CPU x86 è in qualche modo fuorviante. I core ARM possono essere fatti risalire al progetto RISC Machine di Acorn nel 1983, solo 7 anni dopo, e in qualche modo essere più recenti è un vantaggio, Acorn ha imparato diverse cose che non andavano nello sviluppo di x86 e simili progetti di CPU e li ha incorporati in BRACCIO.
user1937198

2
Anche RISC vs CISC non ha nulla a che fare con esso, le CPU Intel eseguono internamente un core RISCish (uops). La vera differenza è fuori o ordine vs nell'esecuzione dell'ordine.
user1937198

5
La cosa x86 è abbastanza ... sbagliata. Sono chip superscalari, le implementazioni di base non farebbero nulla di simile alla classica pipeline RISC utilizzata nella maggior parte dei chip ARM. Vale anche la pena notare che collegare i core con i progetti super-scalari è MOLTO difficile a causa dell'esecuzione fuori ordine e della gerarchia della cache. Nessuno sapeva cosa mancava, quindi non c'era davvero richiesta. Se noti che alcune delle iterazioni più recenti di Intels non si trovano nei chip con un elevato numero di core - sono su Broadwell, questo perché hanno scartato elementi di sincronizzazione - dallo spazio.
Alec Teal,

15

Il motivo è tanto semplice quanto complicato.

La risposta breve è "perché il mercato della telefonia mobile non è mai stato e non è guidato da Intel".

La lunga risposta è troppo lunga per riprendere qui, ma il concetto di base è che Intel ha dominato il mercato dei PC per anni con tutti i mezzi possibili, al punto da pagare e corrompere (ed essere multato per questo) per avere le sue CPU essere il prima e unica scelta per i produttori di PC.

Avere il controllo totale del mercato ha permesso a Intel di gonfiare i prezzi della CPU mentre decideva artificialmente quali funzionalità e quanta potenza di elaborazione avrebbero dovuto desiderare gli utenti, e se analizzi un po 'la storia di Intel noterai che la sua forza principale è fondamentalmente in l'aumento della frequenza delle CPU, quindi per lo più non ha mai cercato di fare qualcosa di veramente intelligente o innovativo; e non ne aveva bisogno, perché può semplicemente dire alla gente "non hai bisogno di più core, ma ho queste succose nuove CPU che funzionano 100 MHz più velocemente". Allo stesso tempo, potrebbe vendere CPU multicore nel mercato dei server a prezzi assurdamente elevati (perché i server hanno sempre avuto bisognotonnellate di potenza parallela, al punto che c'è una tendenza attuale nel tentativo di realizzare server che usano ... indovina un po '? Centinaia di CPU del tuo telefono economico che funzionano in parallelo)

Questo, a sua volta, si è riflesso nella comunità degli sviluppatori che non ha mai raggiunto l'importanza della programmazione parallela, in modo che molti se non la maggior parte di loro non si sono mai preoccupati di usare più di un thread alla volta -o, per esprimerlo in un non in modo tecnico, avendo il loro software fare più di un compito alla volta. Che, a proposito, ha senso quando il 99% della base clienti ha due core al massimo. Purtroppo, questo ha portato alla leggenda che gli algoritmi paralleli sono davvero difficili da implementare e si applica solo a un piccolo sottoinsieme di problemi.

Invece, infine, il mercato mobile non ha mai visto il successo di Intel; al contrario, in realtà, come accade la maggior parte delle volte che Intel cerca di fare qualcosa di diverso dalla solita architettura X86. Quindi, la mancanza è influenza e controllo del mercato, l'altro produttore di CPU ha preso la direzione che è stata la normalità per secoli al di fuori del mercato dei PC: il calcolo parallelo.


12
Sei sicuro di rispondere alla domanda giusta ?
iBug,

7
@iBug Questa risposta si applica alla domanda del PO meglio della risposta accettata. La risposta accettata è quella che non risponde alla domanda giusta.
Aaron,

6
"gonfiare artificialmente i prezzi della CPU" -> Se Intel stava gonfiando artificialmente i prezzi, perché la loro concorrenza usa hardware simile e perché i computer basati su ARM fanno così schifo rispetto all'hardware Intel? Questo odio delle informazioni è ridicolo. Fare CPU è difficile . La cosa che ha reso ARM così popolare tra i dispositivi mobili è stata la grande idea PICCOLA, qualcosa che hanno concepito prima di Intel.
T. Sar - Ripristina Monica il

6
Intel non controlla il mercato dei chip per PC e non lo fa da molti anni. E il motivo per cui i progettisti di chip si sono spostati da orologi più veloci a più core è che gli orologi più veloci colpivano alcune limitazioni fisiche fondamentali. Più core era un problema molto più difficile da risolvere, quindi lo rimandarono fino a quando non fu il modo più economico per continuare ad aumentare le prestazioni.
Kevin Krumwiede,

6
Questo è più di un rant sulla malvagia società Intel, che IMO non è ben meritata dal momento che ARM avvita anche i produttori di chip indipendenti con licenze.
Dmitry Grigoryev,

9

Ci sono due fattori in corso, uno molto pratico e l'altro storico.

Il motivo pratico è l'uso di architetture miste nei telefoni. Il consumo di energia è fondamentale per i telefoni e i telefoni trascorrono molto tempo in modalità in cui richiedono prestazioni ridotte. Ha senso avere alcuni core ottimizzati per un consumo energetico minimo quando sono necessarie poche prestazioni mentre alcuni core sono ottimizzati per fornire le massime prestazioni quando è necessario.

L'altra ragione è in gran parte storica. Fino al 2005 circa, le CPU desktop erano tutte single core. Il miglioramento delle prestazioni della CPU desktop consisteva quasi esclusivamente nella creazione di un core in grado di eseguire quante più istruzioni al secondo possibile. Ancora oggi, così tanto software desktop non può sfruttare appieno più core che molti preferirebbero una CPU con 4 core rispetto a una CPU a 8 core con core più lenti del 20%.

Ottenere quante più prestazioni possibili da un singolo core richiede enormi quantità di proprietà della CPU. Questo è un immobile che potrebbe altrimenti essere utilizzato per fornire più core. Questo è il motivo per cui le più recenti CPU Intel Kaby Lake raggiungono il massimo a 4 core e le persone le acquistano perché ogni core è più veloce dei core del loro predecessore. Per molti, sono un aggiornamento anche da CPU con un numero di core maggiore.

Nel tempo, aspettati di vedere molti più software desktop completamente ottimizzati per supportare più core. In questo caso, i compromessi ingegneristici inizieranno a favorire più core rispetto ai core più veloci sui desktop. Mentre i core quasi sicuramente diventeranno ancora più veloci, inizierai a vedere le persone che preferiscono una CPU a 8 core rispetto a una CPU a 4 core anche se ogni core è più lento del 20%. I progettisti di chip seguiranno il mercato.


5

È fondamentale che un telefono sia in grado di fornire potenza computazionale in brevi raffiche (abbiamo bisogno di alcune app per essere veloci) ma anche per evitare il surriscaldamento (la dissipazione del calore è molto più difficile per i telefoni che per laptop o PC). A tale scopo, gli architetti progettano telefoni per utilizzare un singolo core quando il carico di lavoro è leggero e fornire core aggiuntivi per migliorare le prestazioni quando è necessario. Se i telefoni dovessero utilizzare meno core di grandi dimensioni, il surriscaldamento diventerebbe un problema anche quando il carico di lavoro è abbastanza leggero.

Fonte: corso di architettura informatica di livello universitario.


A dire la verità, la capacità di fornire potenza computazionale (se questo è ciò che intendi per energia ) in brevi raffiche è cruciale anche per il desktop. Ecco perché hanno TurboBoost su chip Intel.
Dmitry Grigoryev,

Sì, il potere computazionale è ciò che intendevo. È vero, tutti i dispositivi che possono aspettarsi di avere un carico di lavoro esplosivo ad un certo punto nel tempo (compresi telefoni e desktop) devono essere in grado di gestirlo. La differenza principale è la dissipazione del calore.
Tara Eicher,

Sono d'accordo con quello che hai detto, volevo solo sottolineare che il carico di lavoro esplosivo non è specifico per i telefoni.
Dmitry Grigoryev il

2

In primo luogo, la macchina virtuale Java può storicamente beneficiare di più core rispetto al tipico software desktop. Anche se scrivi un'app a thread singolo in Java, funzionerà più velocemente su un multicore perché la maggior parte del codice Garbage Collector verrà eseguito insieme alla tua app.

In secondo luogo, molte cose stanno accadendo in background sul telefono: aggiornamenti automatici, download di annunci, software antivirus, gestione del modulo GSM, ecc. Su un laptop, tutte queste attività manterrebbero a malapena un core occupato, ma i core ARM sono molto meno potente, quindi potresti voler avere almeno un paio di quelli dedicati alle attività in background se vuoi un sistema reattivo.

Finalmente c'è il marketing. Non molti utenti sono in grado di valutare se trarrebbero beneficio da 8 core, ma uno smartphone a 8 core sembra sicuramente più costoso di 2 o 4 core.


2
Continuo a vedere affermazioni sulla falsariga di "I core ARM sono molto meno potenti" - cosa significa esattamente? Hanno meno velocità?
Abdul,

2
@Abdul meno operazioni al secondo. I chip x86 possono eseguire più operazioni contemporaneamente, quindi superano ARM anche per la stessa velocità di clock. Dai un'occhiata a questo confronto : il chip ARM superiore (GT-I9100) è circa 10 volte più lento del chip x86 superiore (i7-2920XM).
Dmitry Grigoryev,

"Operazioni al secondo" è sinonimo di FLOPS?
Abdul,

@Abdul Non necessariamente. In effetti, a parte i giochi e le simulazioni fisiche, il virgola mobile non è molto utilizzato. Inoltre, molti chip ARM ottengono FLOP decenti paralizzando la precisione, quindi non è nemmeno l'unica vera misura.
Dmitry Grigoryev,

Le app Android non possono essere eseguite su una macchina virtuale Java. Corrono su Dalvik VM
phuclv il

1

Le risposte finora spiegano alcune sfaccettature del problema che porta a questo numero enormemente di core CPU su telefoni Android. Leggi di nuovo; Telefoni Android. L'iPhone è riuscito a rimanere bloccato su un paio di core per anni e si comporta ancora molto più agevolmente di qualsiasi ammiraglia Android.

I progettisti di Android hanno fatto una grande scommessa quando hanno deciso di scegliere la programmazione Java e di conseguenza la JVM come runtime delle applicazioni. Java, grazie ai suoi principi di progettazione, risolve il problema della necessità di compilare e costruire codice per ciascuna architettura della CPU prima che possa essere eseguita su di essa sacrificando le prestazioni. Java introduce una macchina virtuale pesante e voluminosa solitamente chiamata JVM. La JVM emula effettivamente una CPU a livello di software per evitare la necessità di compilare il codice separatamente per ciascun dispositivo. Pensa alla JVM come a una CPU virtuale che ha le stesse proprietà indipendentemente dal dispositivo che la esegue, quindi il codice deve essere compilato una sola volta per la JVM e può quindi essere eseguito su ogni dispositivo. Ciò consente ai produttori di lanciare tutto l'hardware che desiderano prima di preoccuparsi della compatibilità delle applicazioni.

La JVM stessa è semplicemente una specifica e le persone sono libere di sviluppare la propria JVM purché aderisca a questa specifica. L'androide originale JVM si chiamava Dalvik. Oggi Google ha sostituito questo con ART.

Ora qual è il problema con JVM? È un software pesante che consuma molte risorse di elaborazione. Aggiungete a questo alcune altre proprietà del linguaggio Java come Garbage Collection e il consumo di risorse della JVM diventa semplicemente troppo per un dispositivo con potenza hardware modesta. Ogni servizio applicativo e di sistema aperto sul tuo dispositivo è esso stesso un'istanza di ART JVM e ormai potresti concludere che la loro gestione richiede hardware davvero capace. La cosa peggiorerà ulteriormente quando sarà necessario disegnare interfacce utente.

Ogni applicazione viene eseguita su un numero di thread. Ogni core della CPU può eseguire solo un thread alla volta. Ogni app ha un thread principale su cui fa le cose relative all'interfaccia utente. Potrebbero esserci molti più thread per applicazione per eseguire l'accesso ai file, la rete, ecc. In genere ci sono più app (e servizi di sistema) aperte rispetto ai core della CPU e, di conseguenza, di solito ci sono molti più thread rispetto ai core della CPU. Quindi ogni core deve passare costantemente dall'elaborazione di thread diversi, facendo un po 'di ognuno e passando al successivo. Questa commutazione richiede molto tempo per la CPU e nel caso in cui le applicazioni siano essenzialmente JVM, questo compito diventa ancora più esaustivo.

Sulla base di questa spiegazione si potrebbe dedurre che Android ha bisogno di hardware potente per funzionare senza problemi. Le prime generazioni di dispositivi Android erano famose per ritardi, arresti anomali e molte altre cose sfortunate. Ma nel corso degli anni questi problemi sono stati risolti principalmente facendo affidamento su hardware potente.

D'altra parte, le applicazioni iOS sono compilate in codice macchina nativo e quindi non richiedono la virtualizzazione. La lingua utilizzata e il sistema operativo sono anche più efficienti e quindi consentono a questi dispositivi di rimanere fluidi senza la necessità di un chipset eccessivo.


Questa è una bella spiegazione del perché i telefoni cellulari sono molto più potenti dei desktop. O non lo sono?
maaartinus,

"Ciò consente ai produttori di lanciare tutto l'hardware che desiderano prima di preoccuparsi della compatibilità delle applicazioni." - Un buon punto, ma non sono sicuro che questa fosse l'intenzione di un sistema destinato (originariamente) alle telecamere.
v6ak,

"Potrebbero esserci molti più thread per applicazione per l'accesso ai file, la rete, ecc.", Sono piuttosto legati all'I / O e non consumano molta CPU. A volte, l'I / O è gestito da un solo thread, poiché la CPU è molto più veloce dei dispositivi I / O.
v6ak,

"Le prime generazioni di dispositivi Android erano famose per ritardi, arresti anomali e molte altre cose spiacevoli" - Ricordo di aver eseguito Marshmallow su un telefono simile (Xperia Mini Pro) e penso che ci siano molte altre ragioni per essere lenti rispetto alla CPU. Funzionano su RAM bassa avevano dispositivi flash più lenti come MTD (molto più lenti delle schede microSD per alcune operazioni), gli Androidi meno recenti avevano una "JVM" meno efficiente (che non è tecnicamente una JVM). Certo, anche una CPU migliore aiuta, ma sarei ben lungi da tale conclusione.
v6ak,

Inoltre, lo stile di programmazione come l'esecuzione di I / O (o altre operazioni lunghe) nel thread dell'interfaccia utente può rendere le app ritardate indipendentemente dalle prestazioni della CPU. AFAIK, questo stile è abbastanza comune nelle prime app Android. Tali app possono essere ritardate anche con i telefoni moderni. Probabilmente saranno meno ritardati, ma ciò è più dovuto a memorie flash più veloci rispetto a CPU più veloci o più core.
v6ak,

0

Riprendendo tutto quanto sopra, posso dire che i casi d'uso di PC e telefono sono piuttosto diversi. PC la maggior parte delle volte utilizzato in singole o un paio di app (ovviamente il browser con un sacco di schede richiede molti core CPU, può rimanere in ritardo anche su i-3 in alto), telefoni utilizzati per il multitasking. Almeno connessione di rete, disegno dell'interfaccia utente, trigger di sistema, notifiche. Se apri Task Manager su PC ci sono anche molti processi, ma usano meno del pochi% della potenza della cpu anche sul vecchio Core 2 duo. 4 core è piuttosto economico (MTK 65x2 costava 1 $ all'inizio per OEM). È anche RISCHIO vs CISC quando l'ultima mancanza di prestazioni per core. Efficienza energetica! = Potente, come possiamo vedere qui . Il multi-core è perfetto per i dispositivi mobili, perché non richiede un carico pesante sul singolo battistrada e un'esperienza mirata per più attività (ma possiamo vedere che gli iPhone hanno bisogno di meno core e RAM a causa di un buon softwarecome in questo video o in altri )


Molti di questi vengono spesso eseguiti anche su laptop. E il multitasking non deve essere impegnativo per la CPU. La differenza nei costi di produzione potrebbe causare alcune differenze e potrebbe essere una ragione per un numero inferiore di core per CPU di fascia bassa, ma dubito che i costi di produzione siano l'unico motivo per cui non tutti i7 hanno almeno quattro core. Credo che i costi di produzione siano solo una piccola parte del prezzo di quelle CPU.
v6ak,

@ v6ak, il problema è che i core x86 sono più grandi e più complicati, le CPU di intell (o amd) non sono abbastanza buone per essere il modello di punta. In effetti, la maggior parte di loro viene bloccata in alcune parti e diventa junior i7 o Pentiums. I core ARM sembrano meno difficili, quindi non così tanti modelli arrivano ogni anno. Ancora vero octa core era Samsung Exynos Octa 7xxx , MTK Helio X10 , Latest (X30) proponendo anche poco (4) .Middle (4) .BIG (2), possiamo pubblicizzarla che si tratta di un processore a 10 core, marketing economico fa cosa.
Flippy

-1

Penso che uno dei principali fattori trainanti oltre un 4 o 8 (per grandi: piccole configurazioni) sia proprio il marketing al momento.

Un enorme problema dell'elevato numero di core è quando si considera la dimensione della memoria. Normalmente nelle app desktop quando si desidera migliorare l'utilizzo di più core, è necessario duplicare le strutture e utilizzare molta più memoria rispetto a una singola applicazione thread.

Ciò non accade perché la RAM è molto costosa (soprattutto nella situazione di crisi della RAM 2017/2018). Il marketing richiede numeri elevati, ma il controllo vuole ridurre i prezzi dei componenti. Se viene visualizzato un saldo inferiore a 1 Gigabyte di RAM per core, viene visualizzato un compromesso non riuscito.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.