Gå til innhold

Power6 på 5 GHz kan telle til 10


Anbefalte innlegg

Videoannonse
Annonse
Dette er spesielt nyttig i en del beregningstilfeller der man i dag har krevd en eller annen programvare for å gjøre avrundninger.

 

Er det noen som kan forklare dette? Snakker vi om FP eller?

7047226[/snapback]

Dette er nok ment for pengetransaksjoner hvor en gjerne ønsker to desimaler og en vil ungå en del rara avrundingsfeil som kan oppstå ved binær regning. konverteringen fra binært til 10-talls systemet slipper en også å gjøre i software så dette vil kunne øke ytelsen i programmer som håndterer penger og aksjer i stor grad. For alt annet er det vel så godt som ubrukelig.

Lenke til kommentar

Hum...

Går ut fra at den fortsatt regner binært i bunn og grunn,

eller har vi gått bort fra digitale prosessorer? :p

Er vel bare nye instruksjoner som gjør at man trøkker inn

talla i desimal også fikser chip'n konverteringen i hardware.

Som tidligere sagt, passe ubrukelig i annet enn økonomi og databasesaker.

Lenke til kommentar
Hum...

Går ut fra at den fortsatt regner binært i bunn og grunn,

eller har vi gått bort fra digitale prosessorer?  :p

Er vel bare nye instruksjoner som gjør at man trøkker inn

talla i desimal også fikser chip'n konverteringen i hardware.

Som tidligere sagt, passe ubrukelig i annet enn økonomi og databasesaker.

7047489[/snapback]

Kan jo fortsatt være digitalt selv om man ikke regner binært

 

Ut i fra grunnlagsartikkelen på cnet virker det som om dette handler om spesialiserte operasjoner for å regne i 10-tallssystemet, ikke grunnleggende ny prosessorarkitektur.

Lenke til kommentar
Hum...

Går ut fra at den fortsatt regner binært i bunn og grunn,

eller har vi gått bort fra digitale prosessorer?  :p

Er vel bare nye instruksjoner som gjør at man trøkker inn

talla i desimal også fikser chip'n konverteringen i hardware.

Som tidligere sagt, passe ubrukelig i annet enn økonomi og databasesaker.

7047489[/snapback]

Du kan se implementasjonen her:

http://www.tecchannel.de/imgserver/bdb/350...99_1000x700.jpg

 

Den regner selvfølgelig binært innad i ALU kretsene, men det er faktisk implementert 10-talls system på nokså lavt nivå. De ser ut til å bruke en egen addisjonskrets for hvert enkelt siffer og ufører "conditional sum". Det vil vel si at de flytter mente oppover på samme måte som når vi regner på papiret. Jeg vet ikke. Uansett er støtte for regning med 10-tall systemet et nokså snevert område. En kan fint emulere det på en datamaskin i dag og som regel regner en bare om før en skal presentere tallet på skjermen. Power 6 vil sikkert gjøre det knakende bra på en del bank og børs applikasjoner med denne utvidelsen av instruksjonssettet.

Endret av Anders Jensen
Lenke til kommentar
Dette er spesielt nyttig i en del beregningstilfeller der man i dag har krevd en eller annen programvare for å gjøre avrundninger.

 

Er det noen som kan forklare dette? Snakker vi om FP eller?

7047226[/snapback]

Dette er nok ment for pengetransaksjoner hvor en gjerne ønsker to desimaler og en vil ungå en del rara avrundingsfeil som kan oppstå ved binær regning. konverteringen fra binært til 10-talls systemet slipper en også å gjøre i software så dette vil kunne øke ytelsen i programmer som håndterer penger og aksjer i stor grad. For alt annet er det vel så godt som ubrukelig.

7047322[/snapback]

 

Den eneste avrundingen som skjer med binære tall er ved bruk av FP, er det som snakkes om i artikkelen?

For man må jo være totalt idiot hvis man skal "emulere" integre som har 0! tap av verdier av noe slag og ingen rare utregninger eller noe unormalte reaksjoner.

Lenke til kommentar

Greit nok med litt Power6 info, men den informasjonen om at den kan telle fra 0-9 er da ganske ubrukelig. Enten dum det ned til "7x økt ytelse ved visse utregninger", eller gi en gode teknisk beskrivelse av nyvinningen!

 

Hvis det er snakk om instruksjoner for BCD så har x86 hatt dette siden tidenes morgen etter hva jeg husker i farten - så det er ikke så oppsiktsvekkende i seg selv. Men 7x ytelsesøkning for de som bruker BCD er jo hyggelig.

 

http://en.wikipedia.org/wiki/Intel_BCD_opcodes

Lenke til kommentar
kroner, øre...

7051449[/snapback]

 

Hva i alle dager snakker du om?

 

Jeg ville tro at man fint kan bruke 64b FP, med et minimalt tap.

en IEEE 64b FP har 11b exponent og 52b mantiss og da skulle man tro at det burde holde i massevis med mindre man regner med flere hundre miliarder og trenger ørene eller no.

 

Litt of topic.

Jeg hørte at hvis man målte avstanden fra jorden til månen med 64bit FP ville man få en nøyaktigheten på noen nm.

Lenke til kommentar

Om jeg ikke husker feil så er det _umulig_ å representere f.eks 0,10 eksakt i binær form. Det gjør at en vil få avrundingsfeil i enkelte tilfeller (kjøp 100 millioner stykker av en aksje til 1,10 kroner). Siden slike avrundingsfeil ikke kan godtas (!) så må en ta høyde for de hver eneste gang noe som har en merkbar ytelseskostnad for applikasjoner som håndterer penger siden en må emulere flyttall med egne avrundingsregler fremfor å kjøre operasjonene direkte i hardware.

 

To greie hint i denne saken er:

1) at IBM antagelig vet hva de driver med

2) de bruker en telefon regning applikasjon til å vise ytelsesgevinsten på 400-700%

Lenke til kommentar
Om jeg ikke husker feil så er det _umulig_ å representere f.eks 0,10 eksakt i binær form.

7053724[/snapback]

 

Du husker feil, alt er mulig å representere binært, bare se på fks BCD.

 

Det gjør at en vil få avrundingsfeil i enkelte tilfeller (kjøp 100 millioner stykker av en aksje til 1,10 kroner). Siden slike avrundingsfeil ikke kan godtas (!) så må en ta høyde for de hver eneste gang noe som har en merkbar ytelseskostnad for applikasjoner som håndterer penger siden en må emulere flyttall med egne avrundingsregler fremfor å kjøre operasjonene direkte i hardware.

7053724[/snapback]

 

 

ja du har en poeng det hvis man bruker fryktelig store summer, men jeg er ikke så sikker på om 100mil er nok.

 

To greie hint i denne saken er:

1) at IBM antagelig vet hva de driver med

7053724[/snapback]

 

hehe du har nok et godt poeng der.

Lenke til kommentar

Jupp, faktisk er vel 0,1=1e-1 (desimalttall)=1e-1 (binært) når man bruker vitenskapelig notasjon.. Forøvring er en transistor binær av natur, den utfører en binæroperasjon, uansett hva instruksjonssettet måtte være. Men for pengesummer kan man forsåvidt bare bruke Integer, å flytte komma to plasser kan hvem som helst gjøre ved behov. Heltall er også som kjent lukket under addisjon, så avrundingsfeil unngåes totalt. Spøk til side, IBM vet sikkert hva de gjør, så det er vel mer i dette enn hva jeg ser akkurat nå.

 

Uansett var Power6 en meget spennende sak, med noen imponerende spesifikasjoner. Blir morsomt å se hvor godt den yter når den endelig kommer.

Endret av Del
Lenke til kommentar

La meg pressisere; Det er ikke mulig å eksakt representere f.eks 0,1 i IEEE754. Dette medfører at formatet er dårlig egnet til pengetransaksjoner.

 

Det er også trivielt at BCD ikke kan representere 0,1 siden tall til høyre for komma ikke er med i standarden av naturlige årsaker (Har selv implementert BCD codec i hardware, det hele er bare en måte å representere små integer på egentlig). Ei heller er BCD særlig egnet til å representere mye mer enn formuen til ei gjennomsnittlig kirkerotte om ytelse er et viktig parameter, og i denne diskusjonen så er det jo strengt tatt det det hele handeler om. ;)

 

http://everything2.com/index.pl?node=floating%20point

(nederst på siden)

"The reason for the (presumably) disconcerting result is that it is not possible to exactly represent 0.3 or 0.2 or even 0.1 in the IEEE 754 double precision format. To make matters worse, the IEEE 754 value of ( 0.3 - 0.2 ) is different than the IEEE 754 value of 0.1 with the result that when you subtract the IEEE 754 value of 0.1 from the IEEE 754 value of ( 0.3 - 0.2 ), you get a value which is almost but not quite zero!"

 

Klart størrelsen på unøyaktigheten er forsvinnende liten, men om du gjør en liten feil på hver eneste børs eller bank transaksjon er det nok glatt noen som står parat til å saksøke deg. Eller hvis en nettleverandør tar seg betalt for trafikken til en abonements leverandør... Hvor mange milliarder børs/bank transaksjoner per dag og hvor mange teleskritt/sms/mms/kB rådata?

 

Fixed point integer kan brukes. Det er så langt jeg vet det som brukes i dag og som IBM nå ønsker å erstatte for å øke ytelsen, ikke nøyaktigheten. Nøyaktigheten er eksakt med fixed point integer og kan vel vanskelig bli bedre.

 

Del: en transistor er ikke mye binær. Det er noe software folk går rundt å tror. De lever i sitt diskrete domene gitt av det ISA og den uarch implementert i CMOS og aner fred og ingen fare. :) En transistor er så analog som noe annet og vel så det. f.eks hadde lyden fra klasse A, B, C og D forsterkere blitt veldig stygg om de var digitale. Det er imidlertid vanlig å kople transistorer i digitale kretser slik at de er i nærheten av logisk 1/0 i det klokka skifter flanke og dermed ser alt ut som om det var digitalt. Som en kuriositet kan jeg nevne at VHDL som standard definerer 8 mulige verdier for en enkelt bit; U, X, 0, 1, Z, W, L, H. Og dette er kun for grov "digital" emulering.

Endret av Anders Jensen
Lenke til kommentar
x86 BCD støtter ikke operasjoner på tall over 99 og multiplikasjon med tall over 9 direkte. Det støttes heller ikke bruk av possisjoner til høyre for komma. Altså komplett ubrukelig for børs, bank og telefonselskaper som beregner regninger.

7053327[/snapback]

 

Det er fordi de er ment til å behandle BCD stringer byte for byte, og komma holder man jo styr på selv :ermm:

 

Jeg tror nok ikke disse instruksjonene brukes noe særlig i dag, poenget er at støtte for å jobbe med desimaltall ikke er noen nyhet i seg selv.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...