Memóriáknál mi a sávszélesség és az MHZ pontosan?
Számítástechnikát kezdtem el tanulni, és a memóriákról tanultunk ma, és a tanár úr mondott egy példát, hogy pl egy DDR3-as 4 GB-s 1600 Mhz-s memória valójában 1600*2 tranzakcióra képes, tehát 3200 tranzakcióra. De azt is tanultuk, hogy ez kicsit becsapós, és a sávszélesség valójában 8bite*1600 ebben az esetben tehát 12800. Elmagyarázná valaki, hogy mi az hogy sávszélesség, mi pontosan az hogy másodpercenként 3200 trancakcióra képes a memória (nem értem mi az hgy tranzakció és sávszélesség). Ha pedig 8*1600 és az 1600mhz adja a sávszélességet, és a tranzakciók számát amire képes, akkor miért számít, hogy hány gigás a vidikártya?!
Úgy magyarázátok el, hogy egy 6. osztályos is megértse, tehát ilyen butanyelven, hogy felfogjam légyszi! :D
Előre is köszönöm, csak jó lennne, ha a logikájt megérteném... még a cl-re is kíváncsi lennék, hogy mi az hogy pl CL11-es a memória.
Gyakorlatilag ez inkább elektronika témakör, mint informatika. Van egy ilyen négyszög formájú jel. Adott időpontban az értéke lehet 0 vagy 1. Ha 1, akkor van feszültség, ha 0, akkor nincs. Ez a 0-1-0-1 szabályos időközönként váltakozik. Ezt nevezzük órajelnek. Ha az órajel mondjuk 1600MHz, az azt jelenti, hogy 1 másodperc alatt 1600 milliószor vált 0-ból 1-be, és vissza 0-ba.
A memória úgy épül fel, hogy vannak rajta memóriacsipek, és van a memóriacsipeket egymással, és az alaplappal összekötő adatbusz.
A memóriacsipeknek, és az adatbusznak is van egy órajele.
Az SD ramoknál csak az órajel 0->1 átmeneténél történt műveletvégzés, míg a DDR ramoknál már a 0->1, és az 1->0 átmenetnél is.
Azután a DDR1->DDR2->DDR3 váltásoknál annyi történt, hogy a memóriacsipek órajelét csökkentették, de több csipet kapcsoltak egy adatbuszra, így az adatbusz órajele nőtt.
Vegyünk egy példát.
Egy 1600MHz-es DDR3-as memóriánál 8db memóriacsip van.
1db csip órajele 100MHz lenne, de mivel 0->1, és 1->0 átmenetnél is történik műveletvégzés, így 200MHz-es órajelről beszélünk. Ebből van ugye 8db az adatbuszra kapcsolva, így lesz az adatbusz órajele 8*200=1600MHz.
Az órajelből, és a memória típusából számítható az átviteli sebesség.
1 órajelciklus alatt a DDR1 2bit, a DDR2 4bit, a DDR3 8bit adatot tud átmozgatni.
Tehát a fent említett 1600MHz DDR3-as memóriánál az átviteli sebesség (sávszélesség) 1600*8=12800Mb/s.
Vagyis 12800 millió bitet mozgat át másodpercenként.
Itt jön még egy csavar.
Ugyanis az alaplapon (vagy manapság már a processzorban) lévő memóriavezérlő egyszerre nem csak 1db memóriát képes kezelni, hanem kettőt, hármat, vagy akár négyet is. Otthoni számítógépeknél általában 2 csatornás memóriavezérlő szokott lenni.
Így a processzor, és a memóriák között kétszer ennyi adat mozog másodpercenként.
Ez a memória sebessége.
Az, hogy a memória 4gb-os, az pedig a mérete. Tehát 4 milliárd bájt adat fér el benne egyszerre összesen.
Nem esett még szó a késleltetésről, de azt annyira én sem értem, szóval meghagyom másnak.
Amit tudok, hogy van egy úgynevezett elérési idő.
Ezt úgy lehet kiszámolni, hogy (1000/memóriacsip órajel*késleltetés)/1(DDR1) vagy 2(DDR2) vagy 4(DDR3).
Megint csak az előzőben említett 1600MHz DDR3-nál maradva a memóriacsipek órajelei ugye 200MHz-esek.
Az ilyen memóriákból is van többféle késleltetésű, de általában CL9 vagy CL10. Nézzük CL9-el.
Tehát az elérési idő (1000/200*9)/4=11,25ns
Ez az elérési idő minél kisebb, annál jobb.
Összegezve: Igazából ami a memóriáknál ténylegesen számít, az a sávszélesség, és az elérési idő.
Mindkettő a gyártók által megadott adatokból kiszámítható. Közvetlenül a gyártók által megadott adatok alapján nem összehasonlítható két memória, csak ha ezeket kiszámoljuk.
Pl. csak akkor mondhatnánk számítás nélkül, hogy egy 1600MHz-es memória jobb, mint egy 1333-as, ha ugyanakkora lenne a késleltetésük. De mivel a nagyobb órajelű memóriához jellemzően nagyobb késleltetés párosul, mindenképp ki kell számolni az elérési időt, hogy megállapítsuk, melyik az előnyösebb.
A műveletvégzés, az adatok mozgatását jelenti a memória, és a processzor között.
Ha a memória sávszélessége 12800Mb/s, akkor egy másodperc alatt 12800 millió bit adat mozgatható a memória, és a processzor között.
A 3200-at meg el kell felejteni.
Nem tudom biztosan, hogy mit akart érteni alatta a tanár, de valószínűleg azt ,hogy 2db 1600MHz-es memória 2 csatornás vezérlővel.
Egyébként a processzor végzi az adatokkal a műveleteket.
A memória arra való, hogy azokat az adatokat, amikkel a processzor éppen dolgozik, azt a memóriában tárolja.
Ezt valahogy úgy kell elképzelni (kicsit elrugaszkodott példát mondok, de így érthető lesz), hogy van egy összeszerelő műhely. Abban van egy hátsó raktár, ahol nagyon sok, különféle alkatrészt tárolnak. Ez a merevlemez. A munkás, aki összerakja a terméket, az a processzor. A hátsó raktár, és a munkás között a szállító nagyon lassan viszi az alkatrészeket, ezért nem egyesével hozzák őket hozzá, hanem elhoznak 5-6 termékhez kellő alkatrészt, amit aztán a munkás letesz a saját raktárába, ahonnan gyorsan hozzájuk fér, miközben dolgozik. A munkásnak ez a saját raktára a memória.
Tehát lefordítva.
A processzor dolgozik az adatokkal, de mivel a merevlemezről lassan érné el őket, ezért amikkel éppen dolgozik, azokat a memóriában tárolja.
Köszönöm a sok segítséget! :) tehát akkor tök felesleges az 1600MHZ-nél úgy gondolkodni, hogy 3200- műveletre képes?
Az a lényeg, hogy a ddr3 miatt 12800 adat fut át rajta másodpercenként. amúgy az 1600 ról azt beszélte órán, hogy a ddr előtt egy 100 MHZ-s memória 100 műveletet vagy mit tudott magán "végigvinni" de a ddr már a dubláját, mivel valami double... az angol neve, és le és felfelé is tudott adatot "felvenni". ezért az 1600as memória 3200 trancakcióra képes, a sávszélesség pedig 12800 mivel 8 bit*1600. ha ugyan ez ddr2-es lenne akkor csak 4*1600.
csak ezt az 1600as dolgot nem értem, hogy mi az hogy nem 1600 hanem 3200 trancakcióra képes. Csak a memória ha 12800 adatot képes továbbítani, nem értem mi az a 3200. De a többit már értem amit leírtatok! :) (és köszi :) )
tehát a ddr előtti memória mivel volt rosszabb mint a ddr?
pl egy nem ddr-es 100 MHZ-s mint egy ddr-es mhz-s? a ddr elvileg tranzakcíióra képes, a nem ddr-es viszont csak 100-ra továbbra is. de ha beszorozzuk pl 2-vel akkor mindkettő ugyan úgy 200-as sávszélességet fog mutatni. mivel 100*2 az 200. tehát akkor mit számít az hogy a ddr le és felfelé is juttat adatot, és így az mhz-je ha 100at ír az 200, ha a sávszélesség ugyan az marad?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!