Ten závěr zase tak moc správný není. Těžko někdo bude na exotické (sorry příznivci) architektuře prošlapávat teoretické vulnerability, souhlas, cost/benefit nesedí.
Ale když už se něco jednou prošlape na Intelech, tak je řádově méně pracné to zkusit zmodifikovat pro AMD, ARM a třeba i pro ten riscv, co kdyby...
Tak ono model-specific bugu neni mnoho - vetsinu jich najdete rovnou v errata od vyrobce, protoze to jsou spis chyby, ktere ubiraji na funkcionalite (ze neco nefunguje).
Ty timing utoky, zda je/neni neco v cache, v kombinaci se spekulativnim vykonavanim pak slo samozrejme aplikovat na ruzne architektury - protoze to je spis otazkou navrhu toho, jak se procesory dali zrychlit.
Na model specific me napda jenom nejaky TLB bug na amd - ktery snad umoznoval uniknout z VM do hypervisoru. To je celkem prukak :)
Tak v prvni rade, dnesni amd/intel je spis "amd64" (resp. dle intelu "x86-64") + mnozstvi dalsich "extensions" (mmx, sse, aes, avx, atd). Tam je uz na povazenou, jestli to neni blize RISC (minimalne poctem registru).
Jenze pokud zustaneme u puvodni instrukcni sady x86, tak to mame nakejch ~80 instrukci jez se daji povazovat za komplexni (jedna instrukce nacte data, vykona operaci, i ulozi vysledek, a trva nekolik cyklu) a jen pouho-pouhe 4 "vseobecne" registry ax, bx, cx, dx (v uvozovkach, protoze ta "vseobecnost" taky neni univerzalni). To se rozhodne za RISC povazovat neda.
Pro srovnani, treba puvodni MIPS ze stejneho obdobi (~80 leta minuleho stoleti) mel jiz 32 vseobecnejch registru, a kazda jednoducha instrukce trvala 1 clock-cyklus. To je chovani typicke pro RISC.
Dnešní CPU jsou všechny v podstatě RISC podle původní definice, protože instrukce se rozloží na uops a ty jsou právě jednoduché (load, store, ALU, atd...). X86 dnes má 16 GP registrů a 32 SIMD registrů (AVX10/AVX-512), s APX má X86 32 GP registrů - toto je i podle tvých slov "typické pro RISC". Na druhou stranu nevím proč by mělo mít smysl počítat adresovatelné registry, když CPU jich má třeba 150, protože renaming... Ani původní ARMy neměli 32 registrů (až AArch64).
Já osobně bych CISC vs RISC už definitivně opustil, protože to dnes už nedává smysl takto porovnávat. Kódování je prostě frontend, ze kterého se dnes naprosto nedá odvodit mikroarchitektura, kde probíhají ty největší změny. X86_64 i ARM64 mají tisíce instrukcí a obě tyto architektury jsou víceméně porovnatelné, takže nechápu proč jedna by měla být CISC a druhá RISC, kvůli nějaké historické definici.
Neni to hybrid.
x86 je univerzalni oznaceni pro instrukcni sadu, a ta je vzdy CISC
Pak mame treba Intel Core, coz je implementace tehoz, ale pro interni funkce se CISC operace prekladaji na mikro-operace, ktere navic pracuji s "virtualnimi" registry, takze tyhle mini operace lze vykonat i mimo poradi. Jako RISC bych to vazne neoznacoval, protoze ta pipeline neni vubec jednoducha jako by to mel cistokrevni RISC (primitivni pipeline, s 1 op/takt).
Dokonce ani Transmeta Crusoe neni interne RISC, ale preklada externi operace na interni VLIW molekuly.
Kde by se dalo uvazovat o tom, ze je vevnitr RISC, je AMD-K5 z ery prvnich Pentii - ale to spis beru za nazvoslovni selhani, protoze to byla defakto uz architektura s mikrooperacema.
Proste pouzivejte odborne terminy spravne - RISC a CISC jsou druhy instrukcnich sad, do kterych si muzete zaspsat svuj strojovy kod. Popisuje to vzdy kod, ktery cpu dokaze cist a vykonavat.
Ze je to interne jinak.. ? na to se tyto terminy nevztahuji (leda ze by slo o cross-platform virtualizaci - to co se ted prevadi s x86 on ARM, jak apple tak qualcomm/microsoft).