Keresés

Hirdetés

Aktív témák

  • MoonFace

    csendes tag

    Mondjuk a valóságtartalom hiánya (vagy a félreérthetö megfogalmazás) miatt ezt az igét nem hirdetném, hogy:

    ''A dual-DDR megoldások tehát leginkább a memória késleltetések (latency) csökkentésében tudják kifejteni áldásos hatásukat, ami ugyan számít, de nem sokat''

    A helyzet ugyanis az, hogy szinte kizárólag a memóriaelérések (olvasás) eredö késleltetése számít, és pont ez az, amibe a K7 plattform esetén a DualDDR nem nagyon tud beleszólni.

    Az persze igaz, hogy az nForce prefetch-logikája szabadabban garázdálkodhat a memóriabusz (nagyobb) üres idejében, valamint az esetleg fölöslegesen (akár az AthlonXP, akár a north-bridge által) megkezdett spekulatív tranzakciók kevésbé rontják az összteljesítményt, de ha a processzormagnak valamire szüksége van, ami csak a memóriából elérhetö, akkor az ö várakozási idején a DualDDR semmit nem segít, hiszen a tranzakció pont azon részét gyorsítja (az elsö adatblokk átvitele utáni folyamatos burst részt), amit az EV6 korlátjai miatt úgy sem tud szegény kihasználni...

    ''A felmerülö problémákra minden jelenlevönek van egy megoldási javaslata - ami nem müködik...''

  • MoonFace

    csendes tag

    válasz Parci #7 üzenetére

    ''Először is, az írási ciklusok előtt is várni kell a memóriára, márpedig itt segít a kétcsatornás elérés (oda ír, ahol szabad a pálya).''

    Ahogy mondani szokták: ez így ebben a formában nem igaz.
    Egyrészt a procinak szinte soha nem kell várnia az írásra, hiszen egy általa végrehajtott írás eredménye ott van neki a cache-ben, az, hogy mikor kerül ki a memóriába, az számára irreleváns.
    Másrészt az ''oda ír, ahol szabad a pálya'' (amellett hogy nagyon szép lennne) szintén több szempontból sem müködhet:
    - az, hogy én melyik memóriacímre írok, egyértelmüen meghatározza, hogy melyik memóriamodul melyik chip-jének melyik bankján belül melyik rekeszbe kell ezt tennem, úgyhogy a használandó ''pálya'' kötött.
    - a kétcsatornás vezérlönek csak akkor van értelme, ha olyan address-interleaving-et használunk, hogy minden egyes cacheline átvitele használja mindkét csatornát (pl. a páros 8 bájtok az egyikröl, a páratlanok a másikról érhetöek el), így viszont a ''pálya'' pont annyira lehet szabad, mint single-channel-nél.

    ''Ha a memóriába kerülő adatokat sem folyamatosan, az egyik helyre írja a program, hanem kétfelé, akkor később a visszaolvasásnál is kevesebb késleltetéssel tudja azokat begyűjteni.''

    Gondolj pl. egy RAID-Strip-re! Attól, hogy a beolvasandó adat két vinyón van elosztva, még nem kerül a fej gyorsabban egy meghatározott szektor fölé...

    ''A felmerülö problémákra minden jelenlevönek van egy megoldási javaslata - ami nem müködik...''

  • MoonFace

    csendes tag

    válasz Parci #10 üzenetére

    ''mivel a két fej egyszerre mozog, ezért fele annyi ideig kell várni az ''összesített fejre'', hogy mozduljon. Vagy rosszul gondolom?''

    Namost, ha az egyik HDD feje mondjuk 3 ms alatt éri el a kívánt pozíciót, meg a másiké is, akkor ha a kettö egyszerre dolgozik, akkor mindkettö egyszerre fogja azt elérni, de továbbra is 3 ms alatt, tehát a kezdeti késleltetésünk nem változott. Ha ehhez még hozzávesszük azt, hogy mondjuk a Raid kontrollerünk egy olyan buszra csatlakozik, ami még egy vinyó átviteli sebességét is csak éppen át tudja magán préselni, akkor már egész helyénvalónak tünik a példa, vagyis a teljes blokkátvitel eredö késleltetése sem javult az egy vinyós konfighoz képest. Na ez itt is a helyzet...

    Azt kell megérteni (és ezért jó a Raid-es példa), hogy egyetlen cacheline átviteléhez is szükség van mindkét csatornára, mert a fele az egyikröl, fele a másikról érkezik. Ha nem így lenne, akkor gyakorlatilag semmi értelme nem lenne a dual-channel-nek, mert pont a nagyobb sávszélességét nem lehetne kihasználni, ugyanis semmi biztosíték nem lenne rá, hogy két egymást követö tranzakció olyan memóriacímekre vonatkozzon, ami külön csatornán elérhetö (vagyis két külön memóriamodulra).

    ''A felmerülö problémákra minden jelenlevönek van egy megoldási javaslata - ami nem müködik...''

  • MoonFace

    csendes tag

    válasz CsendPenge #14 üzenetére

    ''melyiknél van/lehet előnye a dual ddr vezérlőnek? Mert eddig csak azt hallom, hogy mennyire nem ér semmit, pedig tök jó...''

    Alapvetöen egyik szempontjából sincs jelentösége, mert egyik technológia sem a CPU-memória kapcsolatra vonatkozik...

    Viszont azért kategórikusan azt sem lehet kijelenteni, hogy nem ér semmit...
    Pl. azzal, hogy minden cacheline adata fele-fele arányban két memóriamodulon helyezkedik el, effektíve megduplázódik az SDRAM aktív bankjának lapmérete (mivel legalább két aktív bank van) és ezzel a Fast Page módon elérhetö címtartomány is, ami (és itt meg kell követnem Parci-t) valóban csökkentheti az átlagos késleltetést (igaz, nem a késleltetés csökken, hanem a kisebb késleltetésü tranzakciók valószinüsége nö)...

    ''A felmerülö problémákra minden jelenlevönek van egy megoldási javaslata - ami nem müködik...''

  • MoonFace

    csendes tag

    válasz MoonFace #15 üzenetére

    Hja, ha az elözöeket a Raid-es példára szeretném lefordítani, akkor ez azt jelenti, hogy két vinyó mégiscsak dupla annyi adatot tárol, így a fej mozgatása (lassú track-váltás) nélkül is dupla mennyiségü adatot érhet el, vagyis megnö annak valószinüsége, hogy a következö adatblokk átviteléhez nem kell a fejet mozgatni...

    ''A felmerülö problémákra minden jelenlevönek van egy megoldási javaslata - ami nem müködik...''

  • MoonFace

    csendes tag

    válasz MoonFace #16 üzenetére

    ...és még valami, hátha információtartalommal bír: pont ugyan ilyen hatása miatt elönyös a BIOS-okban általában beállítható Bank interleaving.

    Jól elbeszélgetek magammal... :DDD

    ''A felmerülö problémákra minden jelenlevönek van egy megoldási javaslata - ami nem müködik...''

Aktív témák