Coffee-Lake MOD
Dopo aver sfruttato per anni l'I5 6600K (con tanto di overclock a 4.5ghz) e la GTX 1070 della Inno3d, ho deciso di sostituirla con una GTX 1080TI. Una volta montata la nuova GPU, sono rimasto un po' deluso dalle prestazioni poiche' le differenze su carta con la GTX 1070 erano notevoli. Dai log noto che l'i5 6600K lavorava perennemente al 100% (accadeva anche con la 1070, ma in maniera piu' lieve), da qui giungo alla conclusione che l'I5 6600K stava facendo da bottleneck alla nuova GPU, e non di poco (con la 1070 il bottleneck era quasi impercettibile).
A questo punto, mi trovo davanti a due opzioni:
Ma dato che a noi le cose ufficiali e facili non ci piacciono, in realta' c'e' una terza opzione, ed e' quella che illustro in questo articolo:
I chipset Z170 e Z270 supportano ufficialmente CPU Intel di sesta (Sky-Lake) e settima (Kaby-Lake) generazione. La CPU piu' potente supportata in maniera ufficiale e' l'I7-7700K. L'unica differenza tra il chipset Z170 ed il piu' recente Z270 e' il supporto alla tecnologia Intel Optane e il supporto ad un numero maggiore di lane PCI-E (20x PCI-E 3.0 contro 24x PCI-E 3.0) che si traduce in qualche comodita' in piu' (slot M2 aggiuntivo, qualche porta USB in piu', ecc.). Un'altra piccola differenza sta nel supporto nativo delle CPU, infatti la Z170 necessita di aggiornamento del BIOS per supportare le CPU Kaby-Lake, mentre il chipset Z270 le supporta nativamente, senza necessita' di aggiornare il BIOS, ma questo e' un dettaglio di poco conto.
A questo punto, mi trovo davanti a due opzioni:
- Comprare ed installare la CPU piu' potente supportata dalla scheda madre (Gigabyte Z170MX Gaming 5), quindi un I7-7700K
- Comprare ed installare CPU + Scheda madre nuova per passare alle generazioni successive
Ma dato che a noi le cose ufficiali e facili non ci piacciono, in realta' c'e' una terza opzione, ed e' quella che illustro in questo articolo:
- Modificare la scheda madre per supportare le generazioni successive
I chipset Z170 e Z270 supportano ufficialmente CPU Intel di sesta (Sky-Lake) e settima (Kaby-Lake) generazione. La CPU piu' potente supportata in maniera ufficiale e' l'I7-7700K. L'unica differenza tra il chipset Z170 ed il piu' recente Z270 e' il supporto alla tecnologia Intel Optane e il supporto ad un numero maggiore di lane PCI-E (20x PCI-E 3.0 contro 24x PCI-E 3.0) che si traduce in qualche comodita' in piu' (slot M2 aggiuntivo, qualche porta USB in piu', ecc.). Un'altra piccola differenza sta nel supporto nativo delle CPU, infatti la Z170 necessita di aggiornamento del BIOS per supportare le CPU Kaby-Lake, mentre il chipset Z270 le supporta nativamente, senza necessita' di aggiornare il BIOS, ma questo e' un dettaglio di poco conto.
Ma adesso parliamo delle differenze tra le CPU Sky-Lake/Kaby-Lake e Coffee-Lake. Per quale motivo Intel ha creato una nuova generazione di schede madri per supportare le CPU Coffee-Lake di ottava e nona generazione? I chipset Z170 e Z270 sono realmente incompatibili con le nuove generazioni? No. Si tratta esclusivamente di business.
Diamo un'occhiata ai pinout delle CPU di 6/7 generazione con quelli delle CPU di 8/9 generazione.
Il socket rimane lo stesso, con un pinout "compatibile" (infatti e' possibile inserire le CPU Coffee-Lake su un socket LGA1151 con chipset Z170/Z270 senza problemi, ma la scheda madre semplicemente non partira'). Per le CPU Sky-Lake e Kaby-Lake abbiamo il socket LGA1151, mentre per le CPU Coffee-Lake abbiamo il socket LGA1151-V2. Sul socket LGA1151-V2 abbiamo +11 pin VSS e +19 pin VCC al posto dei pin "RSVD" (Reserved) sul socket meno recente LGA1151. I pin RSVD sono dei pin riservati, non utilizzati che solitamente non sono collegati a niente, in acuni casi sono collegati direttamente a massa (GND). L'aggiunta di questi pin di alimentazione si traduce in una maggiore portata di corrente, infatti la Icc MAX sale 138 A. La corrente in piu' viene fornita da un maggior numero di fasi VRM sulle schede Z370 e Z390 rispetto alle Z170/Z270. La maggiore portata di corrente secondo Intel e' stata resa necessaria per supportare le nuove CPU di ottava e nona generazione con TDP di 95W rispetto alla sesta e settima generazione, che avevano un TDP di 91W.
Oltre alle differenze in termini di alimentazione abbiamo anche un ulteriore differenza riguardante un pin in particolare, chiamato "SKTOCC#" che si traduce in "Socket Occupied" (socket occupato). Questo pin fornisce un feedback alla scheda madre stessa per capire se nel socket e' presente o meno la CPU. Inserendo una CPU Sky-Lake o Kaby-Lake sul socket di una Z170/Z270 il pin SKTOCC# viene mandato automaticamente a massa; in questo modo la scheda madre capisce che c'e' una CPU compatibile nel socket ed e' pronta a partire. Mentre se inseriamo una CPU Coffee-Lake sul socket di una Z170/Z270, avendo il pinout leggermente differente, il pin SKTOCC# risulta spostato. A causa di questo, una volta che la CPU e' inserita nel socket, il pin SKTOCC# non andra' automaticamente a massa e la scheda madre rilevera' il socket vuoto e di conseguenza non partira'.
Diamo un'occhiata ai pinout delle CPU di 6/7 generazione con quelli delle CPU di 8/9 generazione.
Il socket rimane lo stesso, con un pinout "compatibile" (infatti e' possibile inserire le CPU Coffee-Lake su un socket LGA1151 con chipset Z170/Z270 senza problemi, ma la scheda madre semplicemente non partira'). Per le CPU Sky-Lake e Kaby-Lake abbiamo il socket LGA1151, mentre per le CPU Coffee-Lake abbiamo il socket LGA1151-V2. Sul socket LGA1151-V2 abbiamo +11 pin VSS e +19 pin VCC al posto dei pin "RSVD" (Reserved) sul socket meno recente LGA1151. I pin RSVD sono dei pin riservati, non utilizzati che solitamente non sono collegati a niente, in acuni casi sono collegati direttamente a massa (GND). L'aggiunta di questi pin di alimentazione si traduce in una maggiore portata di corrente, infatti la Icc MAX sale 138 A. La corrente in piu' viene fornita da un maggior numero di fasi VRM sulle schede Z370 e Z390 rispetto alle Z170/Z270. La maggiore portata di corrente secondo Intel e' stata resa necessaria per supportare le nuove CPU di ottava e nona generazione con TDP di 95W rispetto alla sesta e settima generazione, che avevano un TDP di 91W.
Oltre alle differenze in termini di alimentazione abbiamo anche un ulteriore differenza riguardante un pin in particolare, chiamato "SKTOCC#" che si traduce in "Socket Occupied" (socket occupato). Questo pin fornisce un feedback alla scheda madre stessa per capire se nel socket e' presente o meno la CPU. Inserendo una CPU Sky-Lake o Kaby-Lake sul socket di una Z170/Z270 il pin SKTOCC# viene mandato automaticamente a massa; in questo modo la scheda madre capisce che c'e' una CPU compatibile nel socket ed e' pronta a partire. Mentre se inseriamo una CPU Coffee-Lake sul socket di una Z170/Z270, avendo il pinout leggermente differente, il pin SKTOCC# risulta spostato. A causa di questo, una volta che la CPU e' inserita nel socket, il pin SKTOCC# non andra' automaticamente a massa e la scheda madre rilevera' il socket vuoto e di conseguenza non partira'.
Con delle modifiche opportune, sara' possibile far funzionare le CPU Coffee-Lake sui chipset Z170 e Z270 senza alcun problema e con una compatibilita' totale. La modifica in pillole consiste in questi passaggi:
- Modifica del pin SKTOCC# per ingannare la scheda madre facendo credere che nel socket e' presente una CPU compatibile di sesta o settima generazione.
- Modifica dei pin aggiuntivi VSS e VCC, consiste nell'isolamento dei pin stessi per evitare che generino un corto circuito a massa sulle schede madri con i pin RSVD collegati a GND.
- Modifica del BIOS aggiungendo i micro-code necessari per far funzionare le nuove CPU ed esecuzione di svariate patch per questioni di compatibilita'.
SKTOCC#
Come precedentemente accennato, questo pin fornisce un feedback alla scheda madre riguardo allo stato della CPU nel socket. Per ingannare la scheda madre e farla partire in "maniera forzata" questo pin andra' collegato a massa.
Il feedback solitamente puo' essere gestito in due modi:
Abbiamo due modi per mandare questo pin a massa:
Nel mio caso (Gigabyte GA-Z170MX Gaming 5) il pin SKTOCC# veniva gestito dal chipset Z170. E' stato quindi necessario rimuovere l'aletta di raffreddamento che lo copriva ed individuare il componente esatto dove faceva capo. Mi sono aiutato con lo schema elettrico e la boardview della scheda madre. Per rendere piu' comodo il processo, ed evitare danni ai pin del socket, ho utilizzato un cavo sottile infilandolo nell'apposito pin SKTOCC# sul socket. Alla fine, dal socket della CPU, il pin faceva capo al resistore NR16 nei pressi del chipset. Per effettuare la modifica e' bastato saldare un cavo e mandarlo a massa (GND, potete trovarla praticamente ovunque; se avete dubbi potete sempre utilizzare il multimetro). Invece, nel caso di una ASRock Z170 Extreme 4 che ho modificato, il pin in questione faceva capo sul Super I/O chip. |
Isolamento VSS e VCC
A questo punto, dobbiamo isolare i pin aggiuntivi VSS e VCC che sostituiscono i pin RSVD del pinout delle CPU di generazione precedente. Su alcune schede madri (solitamente Gigabyte) i pin RSVD sono collegati a massa. In un caso come questo, far partire la scheda madre dopo aver modificato il pin SKTOCC# ma senza isolare i pin VSS e VCC equivale a creare un corto circuito a massa, con un alto rischio di danneggiare la CPU o la scheda madre stessa. I pin da isolare variano in base al produttore della scheda madre (ognuno tratta i pin RSVD in maniera differente). Per non avere dubbi ed ottenere la migliore compatibilita', e' bene isolarne il piu' possibile, basandosi sull'immagine qui vicino. Per isolare i pin e' possibile utilizzare il nastro Kapton oppure della resina epossidica. In base al produttore della vostra scheda madre, dovrete isolare i pin colorati di conseguenza.
|
Qui a sinistra potete osservare i vari stepping delle CPU CoffeeLake. Potete anche osservare il metodo alternativo per effettuare la modifica del pin SKTOCC# che consiste nel cortocircuitare i pin segnati con il colore azzurro in figura, direttamente sotto la CPU. Personalmente, preferisco rintracciare il pin SKTOCC# e mandarlo a massa direttamente sulla scheda madre per evitare di mettere mano alla CPU, ma tutto dipende da come vi trovate piu' comodi.
|
Modifica BIOS
Per modificare il BIOS e' possibile utilizzare CoffeeLakeMODTool, tuttavia ultimamente e' stato pubblicato un tool con interfaccia grafica molto ben strutturato: CoffeeTime. L'ultima versione e' la 0.99. Per prima cosa bisogna ottenere il dump del BIOS. Ci sono vari metodi, tra cui la lettura manuale della memoria EEPROM del BIOS tramite programmatore, tuttavia il metodo piu' veloce e' quello di andare sulla pagina del sito web del produttore relativo al vostro modello di scheda madre e scaricare l'ultimo BIOS disponibile. Una volta ottenuto il BIOS e' possibile aprire CoffeeTime e caricare il file. Appena caricato il file ci troviamo davanti alla schermata che potete osservare sulla destra.
Per prima cosa ci occupiamo dell'ME (Intel Managment Engine):
Poi passiamo alla modifica del VBIOS e GOP (Graphics Output Protocol): Il BIOS potrebbe contenere piu' moduli in diverse aree ed utilizzarne solo alcuni.
Successivamente applichiamo le patch di cui abbiamo bisogno. Le patch vanno applicate in base alle vostre esigenze. Con l'asterisco (*) segnalo le patch che ho utilizzato nel mio caso: Prima pagina:
Seconda pagina:
Sezione NVRAM:
Dopo aver applicato le patch dobbiamo iniettare i microcode necessari per supportare le nuove CPU CoffeeLake. Se vogliamo mantenere il supporto per le generazioni 6/7/8/9 vi bastera' copiare i microcode in figura, sulla destra. Gli unici esclusi sono gli ultimi 3 (506E8, 506E1 e 506E0) perche' si tratta dei microcode per gli ES (Engineering Sample). Queste sono le "Traduzioni" per i microcode, nel caso in cui vogliate selezionarle a vostro piacimento:
La memoria per l'aggiunta di microcode e' segnalata come in figura (barra verde 0/649kb). In base alla vostra scheda madre la memoria totale puo' cambiare, tuttavia nel 90% dei casi sarete in grado di iniettare tutti i microcode necessari per le varie CPU, escluse quelle ES. Se la memoria della vostra scheda madre ve lo permette, potete anche iniettare tutti i microcode. Volendo e' possibile liberare spazio cliccando sul pulsante "Click to add extra space". Una volta effettuate tutte le modifiche, salviamo il file modificato e prepariamo un altro computer per la fase di programmazione dell'EEPROM del BIOS. Servira' infatti un programmatore per riscrivere il file (va bene un classico CH341), dato che nessuna delle utility per il flash del BIOS via software vi permettera' di scrivere un file modificato sul BIOS. |
Dissaldiamo quindi il chip della EEPROM del BIOS (se avete la fortuna di avere i chip zoccolati, risparmiate un po' di tempo). Se avete il DualBIOS (si tratta di una doppia EEPROM per motivi di sicurezza in caso di fallimento del flash del BIOS) dovete rimuovere e riprogrammare entrambi i chip per sicurezza. Una volta riprogrammato il (o entrambi) chip li saldiamo nuovamente sulla scheda. Se non avete ancora installato la CPU procedete (assicurandovi di aver eseguito tutte le modifiche per l'isolamento dei pin VSS e VCC), rimontate il dissipatore e mettete il computer in condizioni di partire. A questo punto accendete il computer e se avete eseguito tutto correttamente si avviera' con la nuova CPU.
Se c'e' bisogno, entrate nel BIOS per personalizzare nuovamente tutte le impostazioni, dato che con il flash del nuovo file modificato, tutte le modifiche e i profili creati in precedenza saranno andati persi. Controllate inoltre che tutti i core funzionano correttamente e che la frequenza di lavoro rispetti quella dichiarata nelle specifiche della CPU. |
Problemi
Essendo una procedura che per molti potrebbe risultare complicata (ma anche per i piu' esperti potrebbe non andare a buon fine) potrebbero comparire problemi e la procedura potrebbe non funzionare. Qui di seguito alcune soluzioni per le problematiche piu' comuni:
Problema |
Causa |
Soluzione |
La scheda madre non si accende (completamente morta). |
Modifica pin SKTOCC# non effettuata correttamente. Pin VSS e VCC non isolati correttamente (rischio corto circuito e danni permanenti alla CPU o alla Mainboard). |
Ricontrollate che il pin SKTOCC# sia stato collegato correttamente a massa. |
La scheda madre si accende ma lo schermo rimane nero / si riavvia di continuo |
Modulo ME in protezione. |
Assicurarsi di aver rimosso la Recovery ME (specialmente su schede madri Gigabyte) e di aver applicato le patch necessarie. Se possibile, utilizzare la GPU integrata e successivamente quella dedicata. |
Value |
||
Datasheet
|
|