/ Forside / Teknologi / Hardware / Andet hardware / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Andet hardware
#NavnPoint
tedd 22408
refi 21484
Klaudi 14878
o.v.n. 12736
severino 10876
Fijala 9709
peet49 7935
Gambrinus 7284
emesen 6789
10  pallebhan.. 6757
Dual Channel DDR ram kontra Dual Channel D~
Fra : michael bs


Dato : 07-08-05 10:11

Er der meget forskel i hastighed eller kan det ikke mærkes synderligt?

mvh Michael



 
 
Batista-bomb (07-08-2005)
Kommentar
Fra : Batista-bomb


Dato : 07-08-05 11:22

> Er der meget forskel i hastighed eller kan det ikke mærkes synderligt?

Jeg har ikke prøvet DDR2 RAM endnu, men de benchmarks jeg har set giver ikke
den store forskel på de to typer (tomshardware, anandtech osv.).
DDR2 RAM'en er jo hurtigere rent MHz-mæssigt, men har desværre også en noget
højere latency. God DDR RAM ligger på CL1.5-2.5 og god DDR2 RAM ligger på
CL3-4. Gang på gang har jeg læst i OC-reviews at det er vigtigere med lav
latency end høj MHz...
Så det må være op til en selv. Man kan jo heldigvis få bundkort, der kan
håndtere begge typer. Så er det bare at låne sig til den ene og benchmarke,
så har du svaret ;)

mvh
C



Kai Harrekilde-Peter~ (07-08-2005)
Kommentar
Fra : Kai Harrekilde-Peter~


Dato : 07-08-05 12:09

"Batista-bomb" <dont@think.so> writes:

>> Er der meget forskel i hastighed eller kan det ikke mærkes synderligt?
>
> Jeg har ikke prøvet DDR2 RAM endnu, men de benchmarks jeg har set giver ikke
> den store forskel på de to typer (tomshardware, anandtech osv.).
> DDR2 RAM'en er jo hurtigere rent MHz-mæssigt, men har desværre også en noget
> højere latency. God DDR RAM ligger på CL1.5-2.5 og god DDR2 RAM ligger på
> CL3-4. Gang på gang har jeg læst i OC-reviews at det er vigtigere med lav
> latency end høj MHz...

Der er et gammelt visdomsord, som tåler gentagelse her: "Money can buy
bandwidth, but latency is harder - you can't bribe God". Nogle gange
formuleres anden halvdel som "latency is forever".

Langt de fleste computere kan ikke udnytte den ekstra båndbredde i
DDR2 RAM'erne fordi længden på cachelinierne er begrænset til
64-128bytes, og at man skal op på væsentligt længere bursts (256B+)
for at kunne udnytte den ekstra båndbredde.

Og de fleste computere/programmers læse/skrive mønstre til RAM lageret
er nærmest tilfældigt. Dvs at RAM controlleren kan ikke læse/skrive
til efterfølgende cache linier, som ellers ville have givet mulighed
for at udnytte den ekstra båndbredde i DDR2 RAM'erne.


Kai
--
Kai Harrekilde-Petersen <khp(at)harrekilde(dot)dk>

michael bs (07-08-2005)
Kommentar
Fra : michael bs


Dato : 07-08-05 13:51


"Kai Harrekilde-Petersen" <khp@harrekilde.dk> skrev i en meddelelse

>
> Langt de fleste computere kan ikke udnytte den ekstra båndbredde i
> DDR2 RAM'erne fordi længden på cachelinierne er begrænset til
> 64-128bytes, og at man skal op på væsentligt længere bursts (256B+)
> for at kunne udnytte den ekstra båndbredde.
>
> Og de fleste computere/programmers læse/skrive mønstre til RAM lageret
> er nærmest tilfældigt. Dvs at RAM controlleren kan ikke læse/skrive
> til efterfølgende cache linier, som ellers ville have givet mulighed
> for at udnytte den ekstra båndbredde i DDR2 RAM'erne.
>

I dette eksempel skal du gå ud fra, at ddr2 rammen er i optimale omgivelser
(hardware)
Vil der så være markant forskel?
mvh Michael



Kai Harrekilde-Peter~ (07-08-2005)
Kommentar
Fra : Kai Harrekilde-Peter~


Dato : 07-08-05 14:12

"michael bs" <michaelschouFJERNDETTE@oncable.dkfjenogsådette> writes:

> "Kai Harrekilde-Petersen" <khp@harrekilde.dk> skrev i en meddelelse
>
>>
>> Langt de fleste computere kan ikke udnytte den ekstra båndbredde i
>> DDR2 RAM'erne fordi længden på cachelinierne er begrænset til
>> 64-128bytes, og at man skal op på væsentligt længere bursts (256B+)
>> for at kunne udnytte den ekstra båndbredde.
>>
>> Og de fleste computere/programmers læse/skrive mønstre til RAM lageret
>> er nærmest tilfældigt. Dvs at RAM controlleren kan ikke læse/skrive
>> til efterfølgende cache linier, som ellers ville have givet mulighed
>> for at udnytte den ekstra båndbredde i DDR2 RAM'erne.
>
> I dette eksempel skal du gå ud fra, at ddr2 rammen er i optimale omgivelser
> (hardware)
> Vil der så være markant forskel?

Ja, selvfølgelig. Optimale betingelser = du læser en hel intern
"page" fra RAM'en lineært fra 4K/8K/16K (afhængig af page størrelse).

Argumentet er at opstarts tiden (latensen) er en "engangsomkostning"
for hver gang man starter på at læse fra et nyt sted i RAM'en, mens
DDR<tal> fortæller hvor hurtigt du kan hive data ind/ud af RAM'en når
du har overstået opstartstiden.

Det samme gælder alle mulige andre type båndbredde beregninger (PCI,
læsning fra harddisk osv).


Kai
--
Kai Harrekilde-Petersen <khp(at)harrekilde(dot)dk>

Claus Tersgov (07-08-2005)
Kommentar
Fra : Claus Tersgov


Dato : 07-08-05 15:58


"Batista-bomb" <dont@think.so> skrev

> håndtere begge typer. Så er det bare at låne sig til den ene og
benchmarke,
> så har du svaret ;)

Benchmarkprogrammer er ikke meget værd. Brug hellere maskinen til det den er
beregnet til, hvilket vil sige de opgaver, man skal lave flest af og som
normalt belaster maskinen. Der har man en reel vurdering af performance i
stedet for et eller andet tilfældigt tal i et program, som ikke fortæller
ret meget om maskinens rigtige ydelse.

Hastigheden på ram er ikke særlig relevant, hvis testen ikke foretages i en
samlet helhed, hvor rammens belastning indgår sammen med maskinens øvrige
dele.

Claus



Batista-bomb (07-08-2005)
Kommentar
Fra : Batista-bomb


Dato : 07-08-05 19:57

> Benchmarkprogrammer er ikke meget værd. Brug hellere maskinen til det den
> er
> beregnet til, hvilket vil sige de opgaver, man skal lave flest af og som
> normalt belaster maskinen. Der har man en reel vurdering af performance i
> stedet for et eller andet tilfældigt tal i et program, som ikke fortæller
> ret meget om maskinens rigtige ydelse.

Wow! (...) ;)

Så er det godt der er benchmarks til snart sagt et hvilket som helst
brugsmønster!

> Hastigheden på ram er ikke særlig relevant, hvis testen ikke foretages i
> en
> samlet helhed, hvor rammens belastning indgår sammen med maskinens øvrige
> dele.

Endnu en gang WOW!
Og endnu en gang: Så er det godt man kan få benchmarks der tester præcis det
man vil!

mvh
C



Claus Tersgov (08-08-2005)
Kommentar
Fra : Claus Tersgov


Dato : 08-08-05 14:58


"Batista-bomb" <dont@think.so> skrev

> Wow! (...) ;)
> Så er det godt der er benchmarks til snart sagt et hvilket som helst
> brugsmønster!

De er ikke en fis værd!

Jeg kan vise dig resultater, hvor bencmarken siger et, men hvor man i en
rigtig situation ikke kan registrerer nogen forskel overhovedet!

Hvad er formålet med at investere for mange penge ram, når den eneste
forskel, man kan registrerer er nogle tal i en tåbeligt benchmarkprogram?

Langt størstedelen af benchmark programmerne er designet til colapattende
nørder, som er dybt og ensidigt fokuseret på tal og ikke rigtig ydelse.

Claus



Kai Harrekilde-Peter~ (07-08-2005)
Kommentar
Fra : Kai Harrekilde-Peter~


Dato : 07-08-05 20:49

"Batista-bomb" <dont@think.so> writes:

> Endnu en gang WOW!
> Og endnu en gang: Så er det godt man kan få benchmarks der tester præcis det
> man vil!

Jeps, det hedder "jeg vil køre dette program med disse typiske data,
lad os se hvor hurtigt det går". Er du klar med stopuret?

"There are lies, damn lies, statistics, and benchmarks"


Kai
--
Kai Harrekilde-Petersen <khp(at)harrekilde(dot)dk>

Esben von Buchwald (07-08-2005)
Kommentar
Fra : Esben von Buchwald


Dato : 07-08-05 15:34

michael bs wrote:
> Er der meget forskel i hastighed eller kan det ikke mærkes synderligt?
>
> mvh Michael
>
>
hvis man kører med en intel CPU som har relativ lang vej fra CPU til
RAM, er der vist en forskel i performance.

Men AMD64 CPUerne, som har indbygget RAM controller kan ikke drage
fordel af DDR2 RAM, da de har så kort vej til RAM at den lave latency på
DDR RAM opvejer fordelene ved DDR2 RAM.

Dog er AMD på vej med nye typer CPUer og sockets, som kan styre DDR2 RAM
når de kommer ned i fornuftige latencies, men det ligger nok et års tid
eller 2 ud i fremtiden før dette bliver standard. AMD plejer at køre i
en 3 års tid med samme socket, super socket 7 kørte fra 1997 til 2000,
socket A fra 2000 til 2003 osv, så mon ikke socket 939 bliver erstattet
i 2007 eller måske slutningen af 2006

Kai Harrekilde-Peter~ (07-08-2005)
Kommentar
Fra : Kai Harrekilde-Peter~


Dato : 07-08-05 16:30

Esben von Buchwald <use-net@rem_oVe-amokk.dk> writes:

> michael bs wrote:
>> Er der meget forskel i hastighed eller kan det ikke mærkes synderligt?
>> mvh Michael
> hvis man kører med en intel CPU som har relativ lang vej fra CPU til
> RAM, er der vist en forskel i performance.
>
> Men AMD64 CPUerne, som har indbygget RAM controller kan ikke drage
> fordel af DDR2 RAM, da de har så kort vej til RAM at den lave latency
> på DDR RAM opvejer fordelene ved DDR2 RAM.

Undskyld mig, men dette lyder fuldstændig bagvendt af hvad jeg vil
forvente.

Du skriver at fordi du har 2 * lang -latens tid, kan du bedre udnytte
en stor båndbredde, end hvis du har 1 * kort + 1 * lang latens tid.

Når opstarts latensen er overstået, vil de kunne burste data ind lige hurtigt.

Det system som har den _korteste_ latens vil være hurtigst.

Jeg vil tværtimod påstå at et _Intel_ system vil have sværere at
udnytte DDR2 RAM'ernes højere båndbredde, fordi det bliver begravet i
den store opstarts latens tid. En processor med integreret RAM
controller vil have kortere latens, og vil dermed hurtigere kunne
komme igang med at nyde fordel af den hurtigere burst data hastighed.


Et billede på problemet kunne være to biler, som skal køre en
strækning på tid.

Bil #1 har en høj topfart, men er meget lang til om at accellerere
derop.

Bil #2 har en lavere topfart, men accellererer hurtigere op til
topfarten.

Hvis bil #2 ændrer på motoren, så den får samme topfart som #1, men
stadig en hurtigere acceleration, vil den _altid_ slå bil #1.


Kai
--
Kai Harrekilde-Petersen <khp(at)harrekilde(dot)dk>

Esben von Buchwald (07-08-2005)
Kommentar
Fra : Esben von Buchwald


Dato : 07-08-05 17:17

> Undskyld mig, men dette lyder fuldstændig bagvendt af hvad jeg vil
> forvente.
>
> Du skriver at fordi du har 2 * lang -latens tid, kan du bedre udnytte
> en stor båndbredde, end hvis du har 1 * kort + 1 * lang latens tid.
>
> Når opstarts latensen er overstået, vil de kunne burste data ind lige hurtigt.
>
> Det system som har den _korteste_ latens vil være hurtigst.
>
> Jeg vil tværtimod påstå at et _Intel_ system vil have sværere at
> udnytte DDR2 RAM'ernes højere båndbredde, fordi det bliver begravet i
> den store opstarts latens tid. En processor med integreret RAM
> controller vil have kortere latens, og vil dermed hurtigere kunne
> komme igang med at nyde fordel af den hurtigere burst data hastighed.
>
>
> Et billede på problemet kunne være to biler, som skal køre en
> strækning på tid.
>
> Bil #1 har en høj topfart, men er meget lang til om at accellerere
> derop.
>
> Bil #2 har en lavere topfart, men accellererer hurtigere op til
> topfarten.
>
> Hvis bil #2 ændrer på motoren, så den får samme topfart som #1, men
> stadig en hurtigere acceleration, vil den _altid_ slå bil #1.
>

Jeg skriver hvad jeg har læst mig til på diverse hardware-test sites.

Det er et spørgsmål om, at AMD kan udnytte DDR RAM bedre end intel, pga.
den korte vej til RAM, hvorimod den høje latency på DDR2 RAM gør dette
til den største flaskehals når den bruges med en AMD CPU. Intel CPUer
har derimod lange pipelines og lang vej til RAM (gennem chipset) -
derfor betyder den ekstra latency ikke så meget for dem, derimod er
båndbredden vigtigere.

Og det hænger meget godt sammen med den generelle opbygning af intel vs.
AMD cpuer, hvor Intel har en længere datapath, men til gengæld har
højere clockfrekvens, hvor AMD har kortere datapaths og lavere
clockfrekvens, hvilket er grunden til at de yder bedre end Intel ved
lavere hastighed.

Kai Harrekilde-Peter~ (07-08-2005)
Kommentar
Fra : Kai Harrekilde-Peter~


Dato : 07-08-05 20:46

Esben von Buchwald <use-net@rem_oVe-amokk.dk> writes:

>> Undskyld mig, men dette lyder fuldstændig bagvendt af hvad jeg vil
>> forvente.
>> Du skriver at fordi du har 2 * lang -latens tid, kan du bedre udnytte
>> en stor båndbredde, end hvis du har 1 * kort + 1 * lang latens tid.
>> Når opstarts latensen er overstået, vil de kunne burste data ind
>> lige hurtigt.
>> Det system som har den _korteste_ latens vil være hurtigst.
>> Jeg vil tværtimod påstå at et _Intel_ system vil have sværere at
>> udnytte DDR2 RAM'ernes højere båndbredde, fordi det bliver begravet i
>> den store opstarts latens tid. En processor med integreret RAM
>> controller vil have kortere latens, og vil dermed hurtigere kunne
>> komme igang med at nyde fordel af den hurtigere burst data hastighed.
>> Et billede på problemet kunne være to biler, som skal køre en
>> strækning på tid.
>> Bil #1 har en høj topfart, men er meget lang til om at accellerere
>> derop.
>> Bil #2 har en lavere topfart, men accellererer hurtigere op til
>> topfarten.
>> Hvis bil #2 ændrer på motoren, så den får samme topfart som #1, men
>> stadig en hurtigere acceleration, vil den _altid_ slå bil #1.
>
> Jeg skriver hvad jeg har læst mig til på diverse hardware-test sites.

OK, det siger jo en del om hvad diverse hardware-test sites har
forstand på :-/

> Det er et spørgsmål om, at AMD kan udnytte DDR RAM bedre end intel,
> pga. den korte vej til RAM, hvorimod den høje latency på DDR2 RAM gør
> dette til den største flaskehals når den bruges med en AMD CPU. Intel
> CPUer har derimod lange pipelines og lang vej til RAM (gennem chipset)
> - derfor betyder den ekstra latency ikke så meget for dem, derimod er
> båndbredden vigtigere.

Så hvis vores latency er stor, så lad os gøre den endnu større - for
så kører vi hurtigere? - undskyld mig, men det er noget vrøvl.

Kig på min sammenligning fra forrige gang - jeg skriver intet om den
interne opbygning her. Det er kun et spørgsmål om hvad effektiv
båndbredde at AMD hhv Intel kan få ud af en DDR2 RAM. Og processorerne
idag er hovedsageligt begrænset af hvor hurtigt de kan tilgå
hovedhukommelsen.

Men lad os tage en 3.0GHz CPU - dvs at der går 3 pipeline trin for
hver 1 nanosekund. Med en DDR2 latens*) på 9/12/15 clocks ved
200/267/333MHz Det er i alle tre tilfælde 45 nanosekunder - og derved
slår pipeline clocken 135 gange. Hertil skal vi lægge latens for vejen fra selv
pipelinen til front-side-bus og igennem chipsettet.

Og husk så endelig at gange med hvor mange instruktioner som
processoren gerne vil udføre per cycle (2-6).

Så vi er hurtigt oppe i at CPU'en kan (forsøge at) udføre 500-1000
instruktioner, mens den venter på data fra RAM.

Det kan vel ikke undre nogen at problemet omtales som "the memory
wall"

Selvom P4'en har en lang pipeline, så har den stadig mindre end 100
stages. Og memory-delen af pipelinen vil være endnu mindre. Så når
pipelinen skal til at bruge data som er ved at blive hentet fra RAM,
og de ikke er tilgængelige, så må pipelinen stoppe den instruktion.
Dette føre let til harmonika-stop internt, fordi CPU'en ikke kan
afslutte senere instruktioner som afhænger af de læste data.

Processoren forsøger selvfølige at stoppe alle mulige instruktioner
ind bag læsningen for at få pipelinen til at lave noget fornuftigt,
sandsynligheden for at finde noget fornuftigt at udføre falder
drastisk med antallet af pipeline trin. Så kan man begynde at
spekulere i at stoppe instruktioner ind som man ikke er sikker på skal
udføres, og dem skal man så kunne aflyse senere. Det findes der
metoder for at holde rede på.

> Og det hænger meget godt sammen med den generelle opbygning af intel
> vs. AMD cpuer, hvor Intel har en længere datapath, men til gengæld har
> højere clockfrekvens, hvor AMD har kortere datapaths og lavere
> clockfrekvens, hvilket er grunden til at de yder bedre end Intel ved
> lavere hastighed.

Den klassiske "brainiac vs speed-demon" diskussion (lav frekvens og
meget arbejde/cycle vs høj frekvens og lidt arbejde/cycle). I mange
år var speed-demon'en klart overlegen udfra princippet om at frekvens
er som tidevandet som løfter alle både (læs: alle applikationer kan
drage nytte af en hurtigere clock).

AMD har bevist at det ikke længere er tilfældet, og Intel har måttet
indrømme det efter at have forsøgt og fejlet med NetBurst
arkitekturen. Fremtidige processorer fra Intel vil SVJV blive baseret
på Pentium M arkitekturen (den som bruges i Centrino laptops), som har
en væsentligt lavere clock frekvens, men meget lavere effektforbrug og
næsten samme ydelse som de "rigtige" P4 processorer.

*) Data taget fra http://www.samsung.com/Products/Semiconductor/DRAM/DDR2SDRAM/DDR2SDRAMmodule/UnbufferedDIMM/M378T2953CZ3/M378T2953CZ3.htm

/PS: Jeg har ikke noget horn i siden på Intel, hvis nogen skulle føle
det. Faktisk forfattes dette på min P4-2.4 maskine :)


Kai
--
Kai Harrekilde-Petersen <khp(at)harrekilde(dot)dk>

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408950
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste