( pink | 2021. 04. 08., cs – 11:15 )

Azért a Spectre és Meltdown szerintem nem ,,sérülékenység", hanem mellékhatás. Nem az vezetett ide, hogy elkúrtak valamit.
Az elmúlt évtizedekben mindent megtettek a tervezők azért, hogy gyorsítsák a jellemző kódblokkok (pl. ciklusok, nem-alu-intenzív részek, stb.) futását, az utolsó óraciklust is kisajtolva az optimalizálásokkal, részegység-megosztásokkal. Erre volt igény, hogy nőjön a CPU teljesítmény (most nem is első sorban az otthoni gépekre gondolok, hanem a szerverekre). Amikor vasból már nem megy, a mérnök kreatív, és megnézi, hol megy el sok idő, és elkezdi ezeket az eseteket sorban ,,kezelni" valahogy.
Azért a Meltdown és a Spectre nem annyira gáz szerintem; nagyon minősített esetben használhatók csak ki értelmesen.

Aztán valaki rájött, hogy ezeknek az optimalizációknak a mellékhatásait ki is lehet használni. Korábban nem gondolt erre senki. Kellett a teljesítmény, megkaptuk, aztán most meg megy a sírás.

Más területeken is megjelent a side channel attack: pl. kriptó algoritmust sem jó optimalizálva fordítani, mert a fordító optimalizációi miatt a kulcs bitjeitől függhet ilyenkor egyes blokkok futási ideje, amiknek mérésével lehet következtetni a kulcs bitjeire.
Pedig itt is nulladik közelítésre azt gondolná az ember, hogy az a jó, ha minél gyorsabban fut.

A mikrokódos működés egy design döntés. Ha nem mikrokódos a processzor, a user elől akkor is el van rejtve a belső működés, hiszen a mag huzalozásába ugyanúgy nem látsz bele.

Egyébként én mindig RISC párti voltam, nem kedvelem a komplex architektúrákat, de ezt azért nem mondanám, hogy ,,nem bízom bennük". Igen, vannak olyan tulajdonságaik, mint minden komplex rendszernek. De az extenzív használat miatt talán kiderülnek a hibák és ilyenkor milyen jól jön, hogy frissíthető a mikrokód...