Ipoteticamente, posso scambiare processori tra uno smartphone e un desktop?


3

Quando i produttori citano le velocità dei processori per smartphone, è giusto a mio avviso che le velocità tra processori per smartphone e processori desktop siano comparabili?

In altre parole, posso ipoteticamente scambiare il processore quad-core Snapdragon Krait 1.5 GHz con il mio processore desktop Celeron a 1.2 GHz e aspettarmi risposte più veloci?


1
In breve: Sì, è possibile utilizzare ARM CPU per eseguire un sistema operativo (un esempio sarà fornito da Raspbian) raspbian.org in esecuzione su Raspberry Pi - en.wikipedia.org/wiki/Raspberry_Pi Quindi, supponendo che sia possibile creare un sistema operativo che può essere eseguito su quella specifica CPU (e qualunque altro hardware ad esso collegato), sarà in grado di eseguirlo. Più veloce o meno: è necessario testare fianco a fianco per essere sicuri.
Darius

1
Non sono in alcun modo paragonabili, anche con lo stesso ISA - un Pentium M usato per battere la merda di un PIV due volte l'ora. Vedi anche valutazioni pr . Inoltre, non è possibile eseguire il software per un ISA (x86) su un altro ISA (braccio). Non lo chiamerò nemmeno mele e arance - il suo confronto tra manzo e durian
Journeyman Geek

Mi piacerebbe vedere un confronto tra benchmark in grep o gcc
artistoex

@artistoex grep è probabile che I / O sia associato, e gcc è scarsamente appropriato anche per il benchmarking della CPU. Esistono benchmark, ma tieni presente che i benchmark artificiali di solito non misurano ogni aspetto importante per il funzionamento del mondo reale.
Bob

Le sessioni @bob grep e gcc sono approcci di valutazione delle prestazioni molto comuni (sono utilizzati nella maggior parte delle suite SEPC e li ho visti in diverse occasioni in H & amp; P, Computer Architechture). Anway, mi piacerebbe vedere questa domanda appraisa da un punto di vista pragmatico: date le migliori piattaforme e compilatori disponibili, quanti risultati di elaborazione si possono ottenere da un processore?
artistoex

Risposte:


5

Iniziamo con le cose ovvie e procediamo verso il basso.

Fattori di forma fisicamente diversi dei sistemi hanno diversi modi di interfacciarsi con la scheda madre: non è possibile ottenere un processore desktop LGA o PGA in un socket laptop più piccolo con una piedinatura diversa. Anche i telefoni e alcuni laptop utilizzano saldati su processori BGA. Dovresti provare ad inserire un piolo da 1/4 di pollice in un foro da 1/2 pollice.

Avresti anche bisogno del supporto di livello 'scheda madre' - con i PC questo sarebbe nel firmware bios / uefi per essere in grado di riavviare il processore. I processori bridge bridge ed edera Intel di Intel hanno condiviso un socket e potrebbero essere scambiati tra le schede di entrambe le generazioni, ma le schede Sandy Bridge necessitano di un aggiornamento del firmware. Pertanto, il tuo firmware dovrebbe essere in grado di comunicare con entrambi.

In secondo luogo, corrono diversi Istruzione Imposta architetture . Supponendo che tu avessi una scheda madre magica con un chipset in grado di parlare sia con uno specifico chip ARM che Intel ... nessuno dei tuoi software funzionerebbe senza un livello di compatibilità. Potresti in teoria attrezzare un sistema operativo per eseguire software da un'altra architettura, come Rosetta, ma il semplice scambio di chip comporterebbe la rottura del software. E questo presuppone un ipotetico sistema magico, che è compatibile con due progetti di chip completamente diversi!

In breve, se avessi due chip con compatibilità ISA, pin out identici e supporto del firmware, è possibile scambiarli. Se si provasse a inserire un chip per le braccia in una scheda Intel o un processore Intel in un telefono cellulare (che sarebbe monumentalmente stupido considerando che i telefoni sono stati saldati sui processori), molto probabilmente le cose non funzionerebbero. Le cose potrebbero bruciare dal momento che i pinouts sono diversi. Sarebbe semplicemente un disastro.

Infine, la velocità di clock dei processori in questi giorni ha sempre meno rilevanza per le prestazioni effettive. C'è stato un enorme calo della velocità di clock del processore post Pentium IV sui processori Intel. Confrontando le velocità di clock è utile all'interno del stesso famiglia e generazione di processori tenendo conto della cache e del core count . Confrontando un processore di braccio e un processore Intel di velocità identiche correttamente significherebbe lanciare serie di lavori attentamente progettati per vedere come si comportano.

In breve

enter image description here

Uno non cambia semplicemente chip tra ISA o formfactor senza una struttura di progettazione completa.

Modifica: A partire dal 2014, AMD sta pianificando una famiglia di sistemi con le opzioni per il braccio compatibile con pin e x86, sotto il nome in codice 'skybridge'. Non c'è niente di concreto all'esterno comunicati stampa e vari articoli, ma questa sarebbe la cosa più vicina a ciò che l'OP chiedeva.

Questi voluto essere processori compatibili pin con chipset in grado di gestire entrambi gli arch e in teoria si potrebbe incollare un processore appropriato di un'architettura diversa, nel giusto tipo di socket, o dissaldare e saldare su un nuovo processore diverso.

Tuttavia, questo è Esattamente cosa intendo con una struttura ingegneristica completa, e precisamente ciò che vorrei dire con una scheda madre magica.


Un po 'di più su RISC: il set di istruzioni RISC è (per la maggior parte) un sottoinsieme del set completo di istruzioni x86. Il che significa che anche se si è riusciti a gestire tutto questo (usando qualcosa come la scheda Pi) le prestazioni del mondo reale sarebbero asimmetriche a causa del fatto che il numero di istruzioni della macchina per un'operazione RISC non è 1: 1 con architettura PC x86. Ad esempio, potrebbe fare l'equivalente di 4+4+4 piuttosto che 4*3 perché non ha un'operazione di moltiplicazione ma può ancora ottenere la stessa funzionalità con l'operazione di aggiunta (questo è un esempio, RISC si moltiplica).
krowe

Nota però, in realtà non parlo mai di risc e cisc, poiché nel contesto moderno, quelli non importa . I processori x86 moderni sono internamente Risc-y, mentre molti chip arm hanno caratteristiche di tipo Cisc. Sono state anche diffuse traduzioni a livello di hardware e software.
Journeyman Geek

Non esiste una cosa come "il set di istruzioni RISC", a meno che non ci si riferisca al Berkeley RISC , che era un progetto di ricerca che alla fine ha generato l'architettura SPARC, ed è solo di importanza storica a questo punto (come lo è l'architettura SPARC, nella maggior parte delle aree). Inoltre, la tua tesi secondo cui l'incongruenza architettonica tra gli ISA basati su RISC e CISC sarebbe il colpo di performance principale è semplicemente errata. Lo strato di traduzione ISA di cui avresti bisogno, sia nel software che nel firmware, lo farebbe si essere il collo di bottiglia, se CISC & lt; - & gt; RISC o meno.
allquixotic

Fondamentalmente solo aggiungendo un livello di traduzione, indipendentemente da ciò che sta traducendo "a" e "da", aggiungerebbe un sovraccarico sufficiente a rendere tale soluzione, nel migliore dei casi, veloce quanto una macchina virtuale abbastanza lenta. Non si avvicinerebbe alla velocità delle macchine virtuali x86 (_64) con hardware in esecuzione su x86 (_64), perché quelle non eseguono la traduzione ISA; inseriscono solo piccoli buchi nel codice per fare cose specifiche della VM qua e là, ma altrimenti lasciano che il codice guest funzioni direttamente sulla CPU. Quando parliamo di hardware o firmware che supportano il multi-arch, si tratta di un overhead elevato, persino rispetto a una VM.
allquixotic

1

Risposta breve:

Stai chiedendo di confrontare mele e arance. Non è un confronto equo.

Risposta lunga:

Ci sono una tonnellata di fattori coinvolti oltre alla velocità di clock della CPU, principalmente legata all'hardware. Le periferiche, la memoria, la velocità e l'architettura del bus sono biggies. Un altro è come viene costruito il silicio della CPU; Le CPU ARM sono in genere più semplici e non hanno caratteristiche di miglioramento delle prestazioni che si trovano nei chip x86 che aumentano i requisiti di potenza e le dimensioni dei chip.

In generale, i requisiti di potenza termica e di alimentazione dello smartphone renderanno sempre possibile che le CPU desktop siano migliori puramente in termini di dimensioni del die (fattore di forma). La domanda è quanto è necessario "meglio" e raggiungeremo un punto di plateau?

I processori utilizzati nei telefoni cellulari (cellulari / telefoni / smartphone) sono una categoria diversa (sono per lo più processori ARM) rispetto ai PC e sono ottimizzati per risorse di alimentazione e raffreddamento ancora più ridotte.

Tablets / slates / pads / fondleslabs formano una via di mezzo in cui vengono utilizzate entrambe le architetture CPU desktop / laptop tradizionali (ad esempio x86) e le architetture tradizionali di dispositivi di piccole dimensioni (ad esempio ARM). Puoi vederlo come convergenza da entrambe le direzioni.

Una conseguenza necessaria è che i processori mobili sono più lenti ma probabilmente incorporano trucchi per il risparmio energetico che non sono molto utilizzati nei PC desktop (penso che i clock rate delle CPU variabili siano iniziati nei processori mobili).

La potenza di elaborazione è ancora maggiore di ordini su desktop anche più vecchi rispetto ai telefoni più avanzati sul mercato. Un processore Intel Atom è significativamente più veloce di qualsiasi altro smartphone.

Il pensiero alla base della costruzione di un processore per smartphone è qualcosa come il 95% che lo rende il più basso potere possibile e il 5% lo rende veloce (numeri non reali ovviamente). Deve essere in un dispositivo e acceso tutto il tempo e durare un giorno intero, l'utilizzo di energia deve essere piccolo. I processori per PC desktop sono molto orientati alle prestazioni.


0

Si, puoi.

MA , con le stesse specifiche della cpu .. perché gli smartphone usano SoC (System on a Chip) e ci sono molte opzioni SoC nel mondo ... è necessario trovare lo stesso pinout e l'architettura della cpu ...

esempio: se si desidera aggiornare un atom intel z2520 1,20 GHz (Asus ZenFone 4) a 2,00 GHz, è necessario trovare le stesse specifiche della CPU con maggiore velocità. diciamo z2580 (Asus ZenFone 5, 2,00 GHz). puoi scambiare la cpu, perché hanno le stesse specifiche della cpu (socket, architettura x86)

Secondo Intel Ark, z2520 e z2580 hanno una stessa CPU (FC-MB4760) questo è tutto quello che so .. ma con ARM, non lo so ...

per favore correggimi se ho torto .. e mi dispiace per il mio cattivo inglese ..


-2

Sì, le velocità per processori per smartphone e desktop (così come per tutti gli altri processori) sono paragonabili in questo modo, che 1 Hz equivale a 1 operazione computazionale al secondo. In questo modo, presupponendo che entrambe le CPU abbiano lo stesso set di istruzioni o larghezza di bus simile, un processore quad-core da 1,5 GHz può calcolare più velocemente di un Celeron a 1,2 GHz.

In pratica non è possibile sostituire Snapdragon con Celeron, poiché le interfacce hardware sono incompatibili.


2
-1 Questo è talmente sbagliato ... I giorni in cui 1 clock ha eguagliato 1 operazione sono circa 50 anni dietro di noi. Ciò non è stato vero dal momento che la prima CPU con rivestimento in tubi è stata inventata negli anni '70. Tutte le CPU eseguono più operazioni per orologio. Quanti variano notevolmente dall'architettura all'architettura e persino il modello da modellare all'interno della stessa architettura.
Tonny

@ Tonny O prendere più cicli di clock per una singola istruzione. Dipende davvero dalle istruzioni. Ma sì, non vedrai quel tipo di corrispondenza uno-a-uno.
Bob

C'è ancora una corrispondenza uno-a-uno. 1 Hz equivale a 1 operazione di commutazione a livello logico. :-) (So che la parola è tautologia)
artistoex

@Bob Ovviamente, ma non volevo complicare troppo le cose.
Tonny

@artistoex Non è vero. Qualsiasi processore moderno suddivide l'orologio esterno (a cui il poster si riferisce) in più orologi interni a frequenze più alte (o inferiori, che è anche possibile). Questi clock interni pilotano i circuiti logici che sincronizzano le micro-operazioni nella CPU. Ma ancora non esiste una relazione 1-a-1 tra l'impulso di clock e il funzionamento. Le operazioni possono richiedere più cicli di clock o essere di lunghezza variabile. È anche comune avere un'operazione avviata da 1 orologio e sincronizzarne la fine con un'altra. Quindi è molto più complesso di 1 CPU cllock-cycle = 1 operazione
Tonny
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.