Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

Door Wouter Tinus

Sun Ultrasparc T2: cool threads op herkansing

64 threads op een chip

Om het aantal threads van de Ultrasparc T1 te verdubbelen heeft Sun een interessante aanpak gekozen. In plaats van zestien cores op een chip te integreren of acht threads om de aandacht van dezelfde eenheden te laten vechten is gekozen voor een hybride oplossing. Iedere core beheert twee groepen van vier threads, waarbij iedere groep bepaalde hardware exclusief voor zichzelf heeft. Onder meer de instructiedecoder, het registerbestand en de integerpipeline zijn dubbel uitgevoerd: voor iedere groep één.

Een hoop andere hardware, waaronder de geheugentoegang en het L1-cache wordt echter nog steeds gedeeld tussen alle acht threads. Je zou een threadgroep dus als een soort 'subcore' kunnen omschrijven. Als zodanig zijn ze overigens ook zichtbaar voor de software, zodat een besturingssysteem dat zich bewust is van het bestaan van de groepen kan proberen de threads er optimaal over te verdelen.

UltraSparc T1 en T2 architectuur vergeleken
Links: UltraSparc T1-core | Rechts: UltraSparc T2-core

* Bandbreedte

Om acht threads te kunnen voeden is een hoop bandbreedte nodig. Binnen de core is dat op twee manieren te merken: de verbinding tussen het L1-instructiecache en de threadgroepen is verdubbeld in breedte, waardoor hij meer opdrachten tegelijk kan ophalen. Verder is er een direct kanaal aangelegd tussen de load store unit en de crossbar. In de Ultrasparc T1 liep al het dataverkeer tussen een core en andere onderdelen van de chip via het L1-datacache. De T2 heeft echter een kortere route met twee keer zoveel capaciteit tot zijn beschikking.

Buiten de core zelf heeft Sun ook flink huisgehouden. De crossbar die alle cores en andere onderdelen van de chip aan elkaar knoopt is in capaciteit verdubbeld en ook de geheugenbandbreedte is ruim twee keer zo hoog. Dat is bereikt door over te stappen van vier kanalen ddr2-geheugen naar acht fbd-kanalen. Opmerkelijk is dat de socket van Niagara 2 ondanks deze forse uitbreiding minder pinnen heeft dan die van zijn voorganger: fully buffered geheugen heeft dus niet alleen maar nadelen. Tot slot is het L2-cache vergroot van 3MB naar 4MB en verdeeld over acht fysieke banken in plaats van vier, wat betekent dat er meer gelijktijdige lees- of schrijfacties op plaats kunnen vinden.

* Integratie

De Ultrasparc T2 heeft ook een paar interessante nieuwe dingen in zijn mars op het gebied van integratie. Om te beginnen heeft iedere core voortaan zijn eigen fpu met ondersteuning voor de Sparc-tegenhanger van ssex aan boord: VIS 2.0. Toegang tot de lokale fpu is meer dan zes keer sneller dan een excursie naar de enkele gedeelde eenheid van de T1, die tot overmaat van ramp nog niet eens alle VIS 1.0-instructies ondersteunde. Samengevat: snel rekenen met kommagetallen was haast niet te doen op de vorige generatie, maar werkt prima op de nieuwe chip.

Ook de encryptie-hardware is bij de Ultrasparc T2 in de core getrokken en flexibeler gemaakt. Ondersteuning voor een aantal populaire coderings- en hashing-algoritmes zoals AES, SHA256, Elliptic Curve, CRC32 en 3DES zijn nieuw toegevoegd, terwijl de functionaliteiten uit de T1 (RSA, DSA en DH) natuurlijk zijn behouden.

De encryptiehardware is speciaal ontworpen om data uit een derde integratiepronkstuk te kunnen verwerken: twee 10Gbit-ethernetcontrollers, samen goed voor ruim 2GB/s netwerkverkeer dat zonder zuchten of stoten ge(de)codeerd moet kunnen worden. De controllers zijn strak geïntegreerd met het threading- en virtualisatiemodel van de T2, zodat de datastroom ook onder zware belasting nog soepel door de chip heen kan lopen. Tot slot heeft Sun zijn 3,1GB/s Jbus-interface ingeruild voor een standaard PCI Express x8-link die 4GB/s op en neer kan schuiven.

Schematische opbouw UltraSparc T2

Gezien de grote verbeteringen die zijn aangebracht op core- en chipniveau is het geen wonder dat de kloksnelheid niet verhoogd kon worden. De chip blijft steken op dezelfde bescheiden 1,4GHz als zijn voorganger. De verkleining van 90nm naar 65nm kon zelfs niet voorkomen dat het tdp ruim de helft omhoog moest. Met 123W is de Ultrasparc T2 echter nog steeds geen extreme heethoofd, zeker niet als Suns claim dat het 'typische' vermogen maar 16 procent is gestegen (van 72W naar 84W) in de praktijk waar wordt gemaakt. Hieronder de belangrijkste specificaties op een rijtje:

Ultrasparc T1Ultrasparc T2
Cores88
Threads per core48
Procédé90nm65nm
Kloksnelheid1,0 - 1,4GHz1,0 - 1,4GHz
Aantal transistors279 miljoen503 miljoen
Grootte totaal378mm²342mm²
Grootte core11mm²12mm²
Pipeline lengte (integer)6 stappen8 stappen
Pipeline lengte (float)N.v.t.12 stappen
Max. instructies per klok12
L1-cache (per core)8KB data, 16KB instructie8KB data, 16KB instructie
L2-cache (gedeeld)3MB4MB
Geheugencontroller4x DDR2-533 (17,1GB/s)8x FBD-667 (63GB/s)
Interne crossbar134GB/s268GB/s
Aantal pinnen socket19331831
Maximumverbruik79W123W
Typisch verbruik72W84W

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True