Newsgroup: it.comp.hardware.cpu
Titolo: OpenSparc T1

Se vi piace l'idea di dare un occhiata a come funziona
e come e' fatta "dentro" una cpu di quelle toste, guardate qui:
http://opensparc-t1.sunsource.net/index.html
Si possono scaricare la documentazione dettagliata
ed i "sorgenti della cpu" in Verilog.
Giusto per chiarire di cosa si tratta, il T1
e' una cpu ad 8 core Sparc con 4 thread indipendenti per core
(sino a 32 thread in esecuzione simultanea)
con ogni core dotato di 16+8KB di cache L1
unita FPU IEEE 754 (condivisa tra i core)
con 3MB di cache L2 condivisa tra i core
memory controller DDR2 *quad channel* integrato
J-BUS per le restanti funzioni di I/O
e con un crossbar switch capace di reggere il traffico
tra le varie componenti.
L. Micheletto

 
http://opensparc-t1.sunsource.net/index.html
Eh, il progetto era nato per macinare programmi ad alta parallelizzazione, o 
sbaglio? Cosě si capisce il senso dell'idea. Il T1 ha caratteristiche molto 
interessanti, peccato sia solo per campi ristretti.
Mi chiedo comunque quanto possa costare un bestione del genere.
MaxArt 

 ha scritto nel messaggio
news:cN3Fg.73862$zy5.1...@twister1.libero.it...

Interessante. Riporto parte del testo tratto da:
"UltraSPARC T1 supplement to UltraSPARC Architecture 2005 Specification
(Hyperprivileged)"
---
UltraSPARC T1 Basics
This chapter introduces the UltraSPARC T1 chip-level multithreaded (CMT)
processor.
1.1 Background
UltraSPARC T1 is the first chip multiprocessor that fully implements Sun's
Throughput Computing initiative. Throughput Computing is a technique that
takes
advantage of the thread-level parallelism that is present in most commercial
workloads. Unlike desktop workloads, which often have a small number of
threads
concurrently running, most commercial workloads achieve their scalability by
employing large pools of concurrent threads.
Historically, microprocessors have been designed to target desktop
workloads, and
as a result have focused on running a single thread as quickly as possible.
Single
thread performance is achieved in these microprocessors by a combination of
extremely deep pipelines (over 20 stages in Pentium 4) and by executing
multiple
instructions in parallel (referred to as instruction-level parallelism, or
ILP). The basic
tenet behind Throughput Computing is that exploiting ILP and deep pipelining
has
reached the point of diminishing returns and as a result, current
microprocessors do
not utilize their underlying hardware very efficiently.
For many commercial workloads, the physical processor core will be idle most
of the
time waiting on memory, and even when it is executing it will often be able
to only
utilize a small fraction of its wide execution width. So rather than
building a large
and complex ILP processor that sits idle most of the time, a number of
small, singleissue
physical processor cores that employ multithreading are built in the same
chip
area. Combining multiple physical processors cores on a single chip with
multiple
hardware-supported threads (strands) per physical processor core, allows
very high
performance for highly threaded commercial applications. This approach is
called
thread-level parallelism (TLP). The difference between TLP and ILP is shown
in
FIGURE 1-1.
FIGURE 1-1 Differences Between TLP and ILP
The memory stall time of one strand can often be overlapped with execution
of other
strands on the same physical processor core, and multiple physical processor
cores
run their strands in parallel. In the ideal case, shown in FIGURE 1-1,
memory latency
can be completely overlapped with execution of other strands. In contrast,
instruction-level parallelism simply shortens the time to execute
instructions, and
does not help much in overlapping execution with memory latency.(1)
Given this ability to overlap execution with memory latency, why don't more
processors utilize TLP? The answer is that designing processors is a mostly
evolutionary process, and the ubiquitous deeply pipelined, wide ILP physical
processor cores of today are the evolutionary outgrowth from a time when the
CPU
was the bottleneck in delivering good performance.
With physical processor cores capable of multiple-GHz clocking, the
performance
bottleneck has shifted to the memory and I/O subsystems and TLP has an
obvious
advantage over ILP for tolerating the large I/O and memory latency prevalent
in
commercial applications. Of course, every architectural technique has its
advantages
and disadvantages. The one disadvantage of employing TLP over ILP is that
execution of a single strand may be slower on a TLP processor than an ILP
processor. With physical processor cores running at frequencies well over
one GHz,
a strand capable of executing only a single instruction per cycle is fully
capable of
completing tasks in the time required by the application, making this
disadvantage a
non-issue for nearly all commercial applications.
(1). Processors that employ out-of-order ILP can overlap some memory latency
with execution. However, this
overlap is typically limited to shorter memory latency events such as L1
cache misses that hit in the L2 cache.
Longer memory latency events such as main memory accesses are rarely
overlapped to a significant degree
with execution by an out-of-order processor.
---
Saluti.


Non credo che prodotto in grossi quantitativi costi piu di un Woodcrest.
In fin dei conti i core sono "ultra semplificati" (c'e' un unica FPU
reale che viene condivisa tra tutti ed 8 i core, tanto per dirne).
La cosa piu interessante comunque e' che anche gli schemi verilog
sono sotto licenza GPL.
In teoria se a qualcuno interessa "costruirsi una cpu" puo "copiare"
unita funzionali ecc. ecc. (a patto di mantenere sotto licenza GPL
i nuovi schemi Verilog prodotti) e poi commissionare ad una fab
tipo TSMC oppure UMC la produzione dei chip, oppure implementare il tutto
su un chip FPGA se si tratta di roba "relativamente piccola".
Quella cpu ha praticamente tutta la roba "interessante" realizzata
in questi anni:
- simultaneous multithreading;
- core multipli;
- cache L2 12-way condivisa tra i core;
- memory controller DDR2 "quadruplo";
- ecc. ecc.
Quelli di Sun non sono stupidi, a parte l'uso didattico (visto che ha quasi
tutta l'ultima roba comparsa nelle architetture piu recenti)
in questo modo molti di quelli che fanno ricerche su nuove architetture
ecc. ecc. potranno "costruire sopra il T1" e/o usarlo per comparare su
simulatore quello che realizzano.
In questo modo Sun oltre ad avere "pubblicita gratis" avra' un grosso
ritorno in termini di ricerca&sviluppo (non prodotti finiti, ma un sacco
di ricerche che Sun da sola farebbe fatica a fare, ma tra
cui potra' scegliere poi di finanziare la roba piu promettente) e magari
potrebbe anche riaprire il mercato embedded agli SPARC
(non so come sono messi adesso, ma anni fa c'erano un sacco di digicam
  da 1..2 Mpixel che come cpu usavano uno sparclite)
Gia da anni chiunque poteva "costruire da se" una cpu su architettura SPARC
(vedere ad esempio le cpu Leon di Gaisler sviluppate per ESA
  oppure quella realizzata piu recentemente dagli iraniani), ma ora
gli schemi Verilog del T1 rendono il tutto piu semplice.
A partire da un core SPARC V9 (a 64bit) del T1 si puo ricavare il 
corrispettivo a 32bit "togliendo pezzi" e semplificarlo ulteriormente
se necessario, senza licenze da pagare per il core e con il vantaggio di
disporre di tutto il software per lo sviluppo disponibile
per SPARC (es: tutto il software ed i tool di Sun, senza contare GCC
e Linux).
L. Micheletto

 Mi chiedo comunque quanto possa costare un bestione del genere.
http://www.anandtech.com/printarticle.aspx?i=2657
Il die size del T1 č di 340 mm^2. Woodcrest misura 142 mm^2. Sicuramente per
una cpu da server "di alto livello" il costo non č primario, come dimostra
ad esempio il die size di Montecito (596 mm^2). Certamente, perň, sotto
questo aspetto, non puň competere con il basso costo di produzione di
Woodcrest.