Cache-minne, gammalt och nytt

Permalänk
Medlem

Cache-minne, gammalt och nytt

Hej!
De senaste veckorna har jag tänkt nästan ohälsosamt mycket på datorer från 386-486-eran, eller för den som är på det humöret, 020-030-040.
En grej jag tänkt specifikt på är cache, och ännu mer specifikt L1-cache. När jag först - nu snackar vi 90-talet - fick höra att 486 som första CPU i serien hade en inbyggd L1-cache på 8 kB tyckte jag det lät rätt ynkligt och snålt. Men jag har inte räknat på det förrän nu.
Såvitt jag förstår krävde en bits L1-cache då sex transistorer. Stämmer det? Och stämmer det fortfarande?
Med sex transistorer per bit och åtta bitar per byte landar man då på ca 50000 transistorer per kB L1-cache. (Jag skriver ca dels pga lättare att räkna, dels för att det är väl lite kringtransistorer också.) Dvs, 8 kB blir ca 400 k transistorer.
Och med tanke på att en 486-CPU hade ca 1,2 M transistorer totalt så skulle man vikt ca 1/3 av ytan åt L1. Då verkar det inte så snålt längre.

Och på samma sätt, en 68020 som hade 256 byte L1 ger drygt 13 k transistorer L1 av totalt ca 190 k.

Har jag förstått det här rätt?
Och är det fortfarande så man bygger upp L1?

Bonusfråga: gäller samma för L2 integrerat i CPU:n? Med integrerat menar jag som det varit från Celeron A till nu, ungefär.

Visa signatur

Stationär dator: Ryzen 9 7950X3D | Asus ROG Strix B650E-F | 64 GB DDR5-6000
MSI RTX 4090 | 4+8 TB SSD | 8 TB WD Red
NZXT H7 Flow Vit | Arctic Liquid Freezer II 360
Phanteks AMP 1000 W v2 | Win11
Skärm: Dell U3011 2560x1600 | HP Reverb G2

Permalänk
Medlem

Märkligt ändå så här till midsommar att inte fler funderar över cacheminnets andel i 80-90-talsprocessorer!

Visa signatur

Stationär dator: Ryzen 9 7950X3D | Asus ROG Strix B650E-F | 64 GB DDR5-6000
MSI RTX 4090 | 4+8 TB SSD | 8 TB WD Red
NZXT H7 Flow Vit | Arctic Liquid Freezer II 360
Phanteks AMP 1000 W v2 | Win11
Skärm: Dell U3011 2560x1600 | HP Reverb G2

Permalänk
Avstängd

Tycker att L1 cachen är allt för små i dagens CPUer, hade väntat mig 1 MB L1 cache i dagsläget åtminstone!

Visa signatur

2600x||16GB @3000Mhz 14-14-10-14-32-46||Vega 64||1TB SSD||HX1000 plat||FD R6 TG vit||CH VII||H100i V2||SST-ARM22SC||SG 32" QHD 144 Hz VA|| https://folding.extremeoverclocking.com/team_summary.php?s=&t...

Permalänk
Hedersmedlem
Skrivet av Horvendile:

Märkligt ändå så här till midsommar att inte fler funderar över cacheminnets andel i 80-90-talsprocessorer!

Jag började fundera direkt men kom på att jag inte minns tillräckligt och vill läsa på först. Återkommer troligen om inget annat kommer i vägen.

Spontant så beror nästan alltid små sram-cache pga att de tar ohemult stor kiselyta i förhållande till övriga logiken, därför har det tagit tid att utöka. Kolla bara på prisskillnaderna hos Pentium Pro som hade cachen på separat chip och hur stort det var.

Du var snubblande nära en §4 i reglerna, förresten.

Visa signatur

W10, Intel 5820K, Asus X99-S, Crucial DDR4 2133MHz 32GB, Sapphire 290X Tri-X, Intel 730 SSD, WD Black+Green+HGST, Silverstone FT02, Corsair AX1200, Corsair K90, Logitech MX518, Eizo 2736w, Eaton 5115 UPS. Pixel 7 pro

Permalänk
Medlem
Skrivet av MultiMan:

Spontant så beror nästan alltid små sram-cache pga att de tar ohemult stor kiselyta i förhållande till övriga logiken, därför har det tagit tid att utöka. Kolla bara på prisskillnaderna hos Pentium Pro som hade cachen på separat chip och hur stort det var.

Du var snubblande nära en §4 i reglerna, förresten.

*kollar reglerna* Jävlar, det har du rätt i. Tänkte inte ens på det. Hoppas retroaktivt på lindrig bedömning den här gången.

Hade inte Pentium Pro integrerad cache? Eller vänta, det var typ på ett separat chip fast direkt på CPU:n på något sätt va? Alltså inte som på P-II.
Nå, hinner inte kolla upp det just nu.

Visa signatur

Stationär dator: Ryzen 9 7950X3D | Asus ROG Strix B650E-F | 64 GB DDR5-6000
MSI RTX 4090 | 4+8 TB SSD | 8 TB WD Red
NZXT H7 Flow Vit | Arctic Liquid Freezer II 360
Phanteks AMP 1000 W v2 | Win11
Skärm: Dell U3011 2560x1600 | HP Reverb G2

Permalänk
Medlem
Skrivet av Esseboy:

Tycker att L1 cachen är allt för små i dagens CPUer, hade väntat mig 1 MB L1 cache i dagsläget åtminstone!

En större cache skulle innebära högre latens eftersom det skulle ta längre tid att söka fram var i cachen det man söker finns (om det finns där). Det blir också högre latens rent fysikaliskt eftersom det blir en längre väg för signalerna att färdas genom en större cache (större yta och placerad längre ifrån själva kärnan för att få plats). Därför är det bättre med flera nivåer av cache. Har man "tur" och det finns i L1 blir det enormt liten latens, annars får man gå till L2 som är mycket större men lite högre latens, sedan L3, RAM och till slut disk/ssd.

Visa signatur

Ryzen 7 3800X, Asus Prime X370 Pro, 32 GB LPX 3600, Gainward RTX 3060 Ti Ghost, 7 TB SSD + 4 TB HDD

Permalänk
Medlem

Har tänkt på det många gånger, va fräckt om man kunde konstruera ett system där CPU är anslutet till ett icke flyktigt minne tillräckligt snabbt att aldrig försätta CPU i väntan på data samt stort nog att agera både primär och sekundärminne.

Problemet är väl att det inte ens är fysiskt möjligt ens om man hade pengarna.
Om man inte vill ha en långsam CPU då.

Visa signatur

En del av mina bildlänkar hostas på egen maskin, är bildlänkarna trasiga, ha tålamod.