Cache-minne, gammalt och nytt

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Aug 2003

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.

Stationär dator: i7 4770k | MSI Z87-G45 GAMING ATX | 16 GB RAM
EVGA GeForce GTX 980 Ti | 500 + 500 GB SSD | 3 TB WD Red
Fractal Design Define XL R2 | Cooler Master Hyper 212 EVO
be quiet! Straight Power E9 680W 80+ Gold Modulär | Win10
Skärm: Dell U3011 2560x1600

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Aug 2003

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

Stationär dator: i7 4770k | MSI Z87-G45 GAMING ATX | 16 GB RAM
EVGA GeForce GTX 980 Ti | 500 + 500 GB SSD | 3 TB WD Red
Fractal Design Define XL R2 | Cooler Master Hyper 212 EVO
be quiet! Straight Power E9 680W 80+ Gold Modulär | Win10
Skärm: Dell U3011 2560x1600

Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Jul 2009

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

2700x @4,2Ghz || 16GB DDR4 @3200Mhz @CL14 || GTX 780 @1,04Ghz || 1TB SSD (MX500) || Corsair HX750 || FD R6 Tempered glass vit (100% Noctua och Noiseblocker fläktar) || Crosshair Hero VII || Corsair H100i V2|| Silverstone SST-ARM22SC skärmstativ || Asus 27" FHD IPS + Acer 21" x223HQ FHD TN ||

Trädvy Permalänk
Moderator
Plats
Sverige
Registrerad
Dec 2005
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.

Synpunkter på min moderering? Hör av dig via PM eller mail.

W7, 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. Huawei P10 Plus
* Stolt paragrafryttare *

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Aug 2003
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.

Stationär dator: i7 4770k | MSI Z87-G45 GAMING ATX | 16 GB RAM
EVGA GeForce GTX 980 Ti | 500 + 500 GB SSD | 3 TB WD Red
Fractal Design Define XL R2 | Cooler Master Hyper 212 EVO
be quiet! Straight Power E9 680W 80+ Gold Modulär | Win10
Skärm: Dell U3011 2560x1600

Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Jul 2001
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.

Dator: R7 1800X, Asus Prime X370 Pro, 16 GB DDR4 3200, GTX 1070, 2,3 TB SSD, Win10
Emulering / Retro: Lotharek MiST 1.3+ | HTPC: Z8300, 4 GB RAM, 32 GB Flash, Win10+Kodi
NAS: DS218+, 4+8 TB HDD | Server: RPi 3, DietPi (VPN, DDNS, DNS, DHCP, Webb, SQL)

Trädvy Permalänk
Medlem
Plats
Gislaved
Registrerad
Jan 2003

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å.

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