Mam mozna hloupou otazku, ale mel jsem za to, ze u pameti je klicova odezva, protoze procesor musi cekat, zatimco by mohl udelat spoustu prace.
Pokud nad tim mam delat nejake dalsi operace, tak me to prece musi jeste zasadne zdrzet? Nebo se to da provest bez vetsiho delaye? Je to sifrovani stejne bezpecne jako treba TLS 1.3?
Jedna se o AES-128 sifru:
Trik je v tom, ze u zapisu vam latence sifrovani nevadi, v cache je desifrovana podoba (coz je trocha meh, protoze spectre/meltdown).
U cteni se da latence sifrovani vykryt pri spravne zvolene sifrovaci metode - jakmile totiz existuje pozadavek na cteni z pameti (tj cache-miss), tak procesor ma hodne casu na pripravu konkretni sifrovaci "sifry/klice" pro danou adresu - data z pameti dorazi az o dost pozdeji (ona ta dram samotna je nejvetsi brzda). A jakmile to dorazi, k aplikaci "sifry" staci jediny XOR s temi predpripravenymi daty :-)
Latence pri zapisu do RAM samozrejme vadi, zejmena pokud do ni pristupuje nekolik zarizeni na jednou (CPU, DMA...) a nebo je potreba zajistit konsistenci dat po resetu CPU (treba v RAMdisku, nevim ale, jestli todle TSME umoznuje). Pak totiz dalsi data mohou byt zapsana az potom, co je zapsani predchozich dat dokonceno. Latence tedy zpozdi nasledujici operace.
Jenze ta pamet ma z pohledu CPU a DMA (pcie root complex) definovane "API" (rozhrani - porty), za portem visi slozity pametovy radic a scheduler - nicmene je to "centralni uzel" a jestli je nejaka latence schovana mezi nim a pameti to uz nevadi.
Typicky tento scheduler muze vykonavat (do pameti posilat prikazy) i out-of order (to je specifikum spis arm64 nez x86), kdyz je povoleno weak memory ordering, jen aby se vyuzila situace, kdy ma radic otevreny radek a sloucili se prikazy (obdoba NCQ, jen u RAM).
Konzistence se urcuje z tech prijimacich front/portu - pokud se neco veme do rukou (zapocne se sifrovani a dlouhy zapis), tak pri pozadavku na cteni z jineho portu lze vratit uz tyhle nova data - sice fyzicky v pameti nejsou, ale uz se melou. Tj. latence zapisu nevadi. Pametovy radic neni tak blbej jak si to predstavujete.
Po resetu vam SME/TSME znepristupni RAMDISK data, protoze "A new key is generated by the processor on every boot."
Ryzen AI Pro maju memory bandwidth 256 GB/s. (Preto maju priletovanu RAM. Flexibilita vs vykon. Bezny Ryzen s AM5 a DDR5 vie dosiahnut cca 90 GB/s. Z dalsich extremov: Apple M4 Pro 273 GB/s, Apple M4 Max 548 GB/s).
Dokonca aj moj starucky threadripper vie nejakych 16 GB/s na kanal (x4). Tento jeden kanal je nieco, na co sa dotahuju PCIe 5.0 SSD, ktore su zhruba tak bezne, ako Ryzen AI Pro.
Povedal by som, ze SSD rychlost RAM este nedosahnuju a ten rozdiel jedneho radu tam je.
Jak jste dospel k 256GB/s ? Specifikace rikaj spis ze max kapacita ram je 256GB.
Pokud uvazuji "klasickych 64bit x 2ch", na specifikovanych "LPDDR5x-8000", dostavame se na 128 bit @ 8000 MT/s = 128 GB/s .. coz zas tak daleko od 90GB/s neni, protoze se hraje jen o rozdil na frekvencich a la 5600 vs 8000. Nic prevratneho v Ryzen AI PRO neni (napr. dvojnasobni sirka). Jinak 1DPC rezim na DDR5 vam taky v OC muze vytahnout 8000 MT/s .. on ten radic to da, jen deska nesmi mit moc dlouhe draty a nesmi na nem byt prilis velika zatez (jako napr tvori 2DPC osazeni).
Uz vidim, zrejme je 4-ch/8-ch (4x64 = 8x32 = 256 bit) specifickou vlastnosti k FP11 pouzdru (BGA-2077), a seznam takovych procesoru je tedy zde:
https://www.cpu-world.com/Related_CPUs/BGA%20_FP11__Zen%205.html
Ryzen AI Max(+) (PRO) 380 / 385 / 390 / 395
Ohledne NVMe vs RAM - pokud porovavate reseni o generaci (ci dve) skrz (coz klidne muzete porad provozovat.. prece DDR4 neumrelo) tak:
Gen5x4 NVMe ma 10-12 GB/s prakticky
DDR4 @ 2400 ma 19.2 GB/s
DDR4 @ 3600 ma 28.8 GB/s
Ale pokud vezmeme typickej desktop limit - tak tech SSD tam pripojite 4 az 5 (pro 16L/20L pcie z cpu) - a dosahnete 50-60 GB/s (na Gen5 pcie cpu), zatimco s DDR4 jste limitovan k 2ch a tudiz se bavime o 38.4 - 57.6 GB/s .. tj. jsme uplne v stejnem radu i rozsahu, lisicich se o jednotky procent.
Ano, muzete argumentovat ze mate system s vice RAM kanaly.. ale zaroven tim navysujete i pocet PCIe linek a NVMe vam znova utece.
Nativne Gen5 sice teoreticky zvladaju 10-12 GB/s, ale boli dlhu unobtanium.
Davat viac SSD do bezneho pc (nie threadripper) je problem s pcie linkami, pretoze to znamena obetovat graficku kartu. Non-HEDT stroje su stavane na nutne minimum - 1 ssd (x4), 1 grafika (x16), nejake linky pre chipset (x4) a optional nejake pre downlink pcie (4x, takze uz sme na limite 28), ktore sice ma dalsie linky, ale uz o generaciu pomalsie a ma na tom dalsiu bizuteriu ako usb4 a to vsetko multiplexuje na tie 4 linky k cpu.
Takze Gen5 SSD a DDR5 nie su vyrovnane.
Rovnako neboli vyrovnane ani Gen3 a DDR4. V threadripperi som teroreticky vedel dat 7 x Gen3 SSD (teda pokial chcem aj grafiku: 3 na dosku, 4 do jedneho z dvoch 16x slotov) a ked zoberiem ich teoreticku rychlost 7x3 GB/s, stale nestacili quad channel DDR4 (@2933).
(Btw, threadripper s osadenymi 4x gen3 ssd mam; dosahuje okolo 10 GB/s).
Rozdiel je aj v systemovej ram a videoram (na diskretnych gpu, gddr a hbm): systemova ram ma typicky nizsie latenciu a mensi bandwidth, videoram vyssie latencie a vacsi bandwidth. Ono je to v podstate taky kompromis, niekde sa prida, niekde sa uberie, pricom sa to musi zmestit do nejakej ceny (preto zmizla hbm).