Newsgroup: it.comp.hardware.cpu
Titolo: HyperThreading "al contrario" per AMD...

In pratica la nuova tecnologia che sarà forse introdotta con le future
generazioni di cpu, porterebbe ad una utilizzazione della potenza di calcolo
offerta da sistemi dual core anche in quelle applicazioni non multithread e
in tutte quelle situazioni di utilizzo prettamente singletask... videogame
compresi.
http://www.hwupgrade.it/news/cpu/un-hyperthreading-al-contrario-per-amd_17088.html
Saluti

Lorenz ha scritto:

Se sarà ben implementata,sarà una bella novità nel "breve" periodo (fino 
a quando le applicazioni single-task non esisteranno più).
CIIAOO


Cazzatona..... che non accadrà mai perchè le applicazioni che si possono 
rendere multitiask o parallelizzabili sono infinitamente in numero minore di 
quelle singletask!!!!! senza contare la difficoltà nel rendere multithreaded 
applicazioni complesse.
IMHO è una delle più grande mosse da parte dei produttori di cpu, intel 
compresa perchè sta lavorando anche lei a questa "tecnologia"
-- 
-------------------------------
SimBus82 --> 
www.simbus82.altervista.org
 --> Hi-Tech Content Inside
-------------------------------
Tenetevi il vostro FireFox, io uso IE! -- 
www.firefoxmyths.com
-------------------------------
JUVENTUS: L'unico club pulito. Tutti gli altri o si dopano, o non si sa 

 
Infatti non ho detto che è una scelta sbagliata,anzi.Quello che tu hai 
sottolineato è una mia opinione che ritiene che tra un pò il single-task 
potrebbe non esistere più oppure essere ridotto drasticamente (ma di tanto).
CIIAOO

Lorenz ha scritto:

Non ha niente a che fare con l'archietettura superscalare che mi pare ci 
fosse gia' nei primi Pentium?
Alessandro.

 ha scritto nel messaggio
news:44469252$1...@newsgate.x-privat.org...

No non c'entra nulla...


Per ora le informazioni disponibili sono estremamente vaghe, ma ad occhio
e croce quello che hanno in mente e' un sistema multiscalare.
In pratica un sistema multiscalare si basa su una combinazione tra software
(il compilatore) ed hardware (il sistema multi core vero e proprio)
per cui un programma viene scomposto in "spezzoni di codice eseguibili
simultaneamente".
IBM ha gia fatto parecchia ricerca a riguardo, infatti il Cell della PS3
combinato con il nuovo compilatore della IBM si puo considerare
una specie di sistema multiscalare.
Un altra possibilita' (di esecuzione multiscalare) e' lo
"speculative threading", ovvero generare un thread distinto
(quasi) ogni volta che si esegue un branch condizionale.
Questo sarebbe anche possibile senza un compilatore che
semplifichi il lavoro di "suddivisione delle istruzioni"
(ma piu "pesante" in termini di hardware richiesto).
L'idea e' che se si trova una sequenza del tipo
  <istruzioni precedenti la diramazione>
  cmp A,B
  jge  pippo
pluto:
   <istruzioni della diramazione pluto>
pippo:
   <istruzioni della diramazione pippo>
La cpu potrebbe eseguire la sequenza precedente al confronto
ed iniziare ad eseguire pure ENTRAMBE LE DIRAMAZIONI
dopo il jump su condizione, quando poi viene completata
l'esecuzione del confronto "cmp A,B" viene scartata
la diramazione che non doveva essere eseguita.
Questa cosa veniva gia supportata in hardware dall'Itanium
(usando il compilatore per generare sequenze predicate
  su flag diversi), ma e' fattibile anche su un x86 con
alcune limitazioni.
Molto probabilmente nel caso degli x86 il "trucco" sta nel
far eseguire ad un altro core una delle diramazioni, in questo modo
quando arriva il momento di "annullare" la diramazione da scartare
basta far eseguire al core che la sta eseguendo una
specie di "task switch senza salvare lo stato e senza
scrivere su ram i valori in cache alterati dalla diramazione".
Rispetto all'Itanium, con un x86 multicore e multiscalare
sarebbe pure teoricamente possibile
"speculare operazioni sulla memoria esterna"
(eseguire tali operazione ma con le scritture ma trattenute in cache
  sino a quando non si decide che la diramazione e' valida oppure no
  ed a quel punto si da il via alla scrittura oppure le si scarta)
ma tra il teoricamente possibile e quel che si puo implementare
in modo efficiente c'e' parecchia strada da fare.
In altre parole, se stanno davvero lavorando su cose simili
spero che abbiano successo, ma implementare bene una cosa del
genere sugli x86 e' decisamente difficile
(specialmente se vogliono implementare qualcosa che non richiede
  la ricompilazione dei sorgenti).
In compenso per i sistemi con compilazione Just In Time
(tipo Java e MS .Net) anche se fosse necessario
"un aiutino da parte del compialtore"
sarebbe una cosa molto utile visto che a "ricompilare al volo"
ci penserebbe il sistema JIT.
L. Micheletto

 ci penserebbe il sistema JIT.
Eh già...:)