
Dopo aver visto i numeri di base e le prestazioni per area delle nuove GPU di AMD e NVidia è ora di analizzare i consumi di questi chip.
Mentre ottenere i dati di area e i GFLOPS delle GPU è facile, i dati di potenza non sono disponibili nella forma che ci interessa per questa analisi: tutti i siti che recensiscono CPU e GPU misurano il consumo complessivo del sistema e non il consumo dei singoli componenti (che è molto difficile da fare con precisione). In mancanza di dati diretti, cercherò …

Questi anni di rapide e dirompenti innovazioni tecnologiche stanno regalando grandi emozioni a tutti noi appassionati di computer. Una rapida sequenza di cambiamenti nelle tecnologie di base sta scuotendo vecchie realtà e rimescolando i mercati: l’ascesa di Apple e Google a spese di Microsoft, di ARM a spese di Intel, l’ingresso di NVidia (e ora anche Intel) nel cortile di casa di Qualcomm.
Quattro i motivi tecnologici principali dietro questo rimescolamento:
la fine della corsa alla frequenza dei processori al’inizio degli anni 2000 e l’ascesa delle architetture parallele ed eterogenee, tra cui …

Disclaimer: l’autore di questo pezzo lavora per una parte chiamata in causa dall’articolo che commenta, ma si esprime a titolo puramente personale.
In ogni campo dell’informazione ci sono testate che si contraddistinguono per vari gradienti di accuratezza, dalla notizia approfondita e meditata a quella più urlata e spesso basata su infondate voci di corridoio.
Nel campo dei semiconduttori Semiaccurate è una delle testate più controverse. Molti di noi lo leggono avidamente per rallegrare un po’ le lunghe e grigie giornate passate a scrivere Verilog. Come regola, personalmente non incoraggio questo genere di …

Per trent’anni, prima che il raggiungimento del power wall terminasse la “corsa ai GHz” e iniziasse la “corsa ai core”, il modo più semplice e gettonato per aumentare le prestazioni dei processori è stato l’aumento della frequenza operativa, raggiungibile tramite pipeline più profonde e processi produttivi più raffinati.
Aumentare il numero di stadi di pipeline ha un doppio impatto sul front-end del processore (fetch e branch prediction):
da un lato, avere più stadi aumenta la branch misprediction, riducendo le prestazioni; questo rende necessario l’adozione di strategie di predizione più sofisticate per aumentare …

In tutta la discussione sui meccanismi di branch prediction (e siamo ormai alla sesta puntata!) ho sempre lasciato intendere che si debba predire il bersaglio di salto, inteso come la singola istruzione puntata dal salto. L’ho fatto per semplificare il discorso, ma dato che il concetto alla base dei processori superscalari è quello di elaborare più istruzioni per ciclo di clock, è più corretto dire che il predittore deve fornire il prossimo fetch group, cioè le prossime N istruzioni che il processore dovrà eseguire.
Come avevo già discusso nel primo articolo, …

Negli scorsi articoli abbiamo visto alcune tecniche utilizzate dai processori moderni per predire la direzione dei salti. Siamo partiti con le tecniche più vecchie e semplici e poi abbiamo visto predittori più sofisticati e predittori ibridi, che possono combinare predittori diversi per ottenere risultati ancora migliori.
Predire la direzione dei salti è però solo uno dei problemi che è necessario risolvere: bisogna anche predire il bersaglio dei salti presi e bisogna costruire tutti questi meccanismi in modo da interagire in modo efficiente con la cache e in modo da fornire più …

Nei precedenti due articoli (qui e qui) ho brevemente descritto alcuni schemi di branch prediction, illustrando i punti di forza di ognuno. Alcuni sono facili da costruire e moderatamente efficienti, altri funzionano bene per salti con forte correlazione con la loro storia locale, altri ancora funzionano perfettamente ma solo per alcuni tipi di salti particolari (ad esempio i loop), eccetera.
Visto che ogni programma ha un mix di diversi tipi di salti e diversi programmi hanno un diverso mix, quale di quei predittori scegliere? La soluzione più semplice è quella di …

Qualche giorno fa è comparsa su Reuters una strana e intrigante notizia a proposito di Intel, secondo la quale il colosso californiano potrebbe cominciare a produrre processori non-Intel. Leggendo la notizia si capisce che le cose non stanno esattamente così — ma come stanno allora? Qual è il significato di questo annuncio, a chi si rivolge, e cosa potremmo aspettarci in futuro?
Dopo un iniziale sbalordimento, e un po’ di riflessione, la cosa ha cominciato ad avere senso — anzi, ad essere perfettamente logica. Credo che questa decisione sia la fava …

Nella seconda parte di questa rassegna sui branch predictor ho illustrato i fondamentali e gli schemi di base, che pur nella loro semplicità possono ottenere prestazioni relativamente elevate (anche superiori al 90%). Tuttavia i processori in generale, e quelli superscalari in particolare, possono ottenere grossi benefici da predittori ancora più precisi: ogni aumento di precisione può far sia aumentare le prestazioni (perchè si può estrarre parallelismo tra istruzioni in più blocchi base diversi) che ridurre il consumo energetico (perchè si eseguono meno istruzioni nel ramo sbagliato).
La letteratura in merito è …

In una luminosa mattina californiana del novembre 2010, Jensen Huang, fondatore, presidente e CEO di NVidia, presentava la roadmap della “nuova NVidia”: la “prima NVidia” fu la compagnia “PC graphics”; la seconda, “Programmable GPU”; la nuova direzione della società è “NVidia: The Processor Company”. Non più solo computer grafica, quindi, ma una vera compagnia di microprocessori e GPU.
La nuova direzione è perfettamente comprensibile se si considera il “lato oscuro” della Legge di Moore: dire che “ogni due anni si raddoppia il numero di transistor per chip” equivale a dire che …