Keresés

Hirdetés

Aktív témák

  • 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...''

Aktív témák