Keresés

Új hozzászólás Aktív témák

  • P.H.

    senior tag

    válasz FehérHolló #40 üzenetére

    Az előrelátó behozatali stratégiát SZVSZ nem láthatta bele, mivel a VIA a többitől különálló prefetch cache-t (is) használ.
    "One mechanism predicts future data use based on past load or store requests that miss in the L1. The prefetch data in this case is loaded into our prefetch cache. Another mechanism is a “streaming prefetcher” that loads prefetched data directly into the L1 cache, just as Intel does."

    (Nehéz nem angolul beszélni, cache line = cellaméret - 64 byte -, sor = set :) )

    Az biztos, hogy manapság nem tisztán az van implementálva, amit leírtunk (ezért csak modell), mert a következők hiányoznak belőle:
    - több request egyidejű kezelésének lehetősége (banks)
    - az L1-ek latency-je 3-4 órajel, viszont a throughput 1
    - exclusive felépítés esetén az L1-ek fizikai címmel is címezhetőeknek kell legyenek, nem csak virtuális címmel (snooping)

    "L1 16 útját még talán lehet azzal magyarázni, hogy ez kell a több lebegőpontos számítás párhuzamosításához"
    Még a közvetlen prefetcher-ek mellett sem látom jelenleg a white paper-ben náluk több request egyidejű kezelésének lehetőségét.
    Akármennyit gondolkodtam ezen, a 16-way L1-nek egyetlen oka lehet: a jövőbeni több magra bővíthetőség - a 12 oldalas white paper-ben 9-szer szerepel a "(first/initial/minimal) implementation" kifejezés, és meg nem jelent microarchitecture-nél sem megszokott ennyi jövőbeli terv hírekbeni megjelenése.

  • P.H.

    senior tag

    válasz #95904256 #33 üzenetére

    Ha az adott szintű cache-t úgy fogjuk fel, mint két (tag+data) kétdimenziós táblázatot, melyben annyi oszlop (és komparátor) van, ahány utas az asszociativitás, és annyi sora van, ahány bittel címezhető, még az sem szükségszerű, hogy "Az L2-őt érdemes legalább akkora méretűre és legaláb annyi részre osztani mint az L1-et" (pl. ennek harmadik fejezete)

    "vagy előfordulhat hogy az L2-ből nem egy cache sort kell visszaírni a RAM-ba hanem egy egész tömböt, ahhoz hogy hely szabaduljon fel."
    Ezt nem tudom értelmezni: cache-szinten mi a 'tömb' (úgy, hogy különböző szinteken azonos a cache line size)?

    "Ennek az a hátránya hogy a címet meghajtó áramkörnek bírni kell szuflával hogy egyszerre több komparátor bemenetét tudja meghajtani."
    Feltételezzük azt a modellt, hogy egy címet kap a cache: ennek bizonyos bitjeiből adott a fenn emített táblázatos modellben a sor, amelyhez tartozó tag-ben keresni kell a címet. Annyi komparátor van, ahány oszlop a sorban (= ahány way set associative a cache), az összehasonlítások egyikének sikeres eredménye rögtön aktiválja az adattároló táblázat adott sorában a megfelelő oszlop tartalmát, amely a következő (pár) órajelben szolgáltatja is a cellában tárolt cache-line megfelelő részét.

    Az AMD 2-way L1D-je egy különleges eset (az L1-gyek általában 4-way felett vannak), az egy végletekig egyszerűsített modell, pl. az L1-re befolyással lévő prefetch(NTA)-utasítások 1 utat töltenek ki a kettő közül, tehát egyszerre 32 KB ideiglenesen betöltött adat lehet jelen benne.

Új hozzászólás Aktív témák