- Samsung Galaxy S25 - végre van kicsi!
- Vivo X200 Pro - a kétszázát!
- Yettel topik
- Samsung Galaxy Watch7 - kötelező kör
- Android alkalmazások - szoftver kibeszélő topik
- Megérkezett a Google Pixel 7 és 7 Pro
- Honor Magic V5 - méret a kamera mögött
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy A56 - megbízható középszerűség
- Milyen okostelefont vegyek?
Hirdetés
Aktív témák
-
tocsa
senior tag
Ja. Ez jó kérdés, hogy pontosan mit jelent a mikrokód.
Számomra olyasmit jelent, hogy egy assemblynél is jóval alacsonyabb ''nyelven'' leírt utasításokkal egy algoritmus/program. Amit értelmezni tud a prociban egy logika. Az program lehet persze egy dekódolt mikroutasítás végrehajtása is. Miért ne. De ezen a programozható területen gondolom lehetnek adatok is feltételezésem szerint.
Utána kéne járnom a dolgoknak, ha lesz időm rá. -
tocsa
senior tag
Azt tudjuk, hogy mikroutasításokra bomlanak az utasítások. Méga számunkra legegyszerűbbnek tűnő is. Már csak a pipeline miatt is szükséges.
De a mikroutasítások mikrokódban lennének? A mikrokód egy plussz indirekciót jelentene a végrehajtás során (pont amiatt, hogy változtatható). Ezáltal véleményem szerint lassabb az utasítás végrehajtás, mintha valami nem mikrokódos lenne. Lehet, hogy nincs igazam. Úgy gondoltam, hogy egy olyan elemi művelet, mint egy regiszter kiolvasása, vagy egyel növelése változtathatatlanul be vannak drótozva, és ki vannak optimalizálva a sebesség miatt. Mondjuk pont a pipeline elrendezés miatt előfordulhat, hogy egy stage ideje úgyis meghatározott, és egy nagyon egyszerű utasítás lehet, hogy belefér időben mikrokódosra az indirekció miatt.
Mi a véleményetek? -
tocsa
senior tag
válasz
Pizzafutar #31 üzenetére
De nem hiszem, hogy a retire vagy OOO logika abban van. Meg azt sem, hogy mind a sokszáz utasítás végrehajtási programja ott van. Lehetetlen. Annyira gyorsnak kell lenni a procinak, hogy ezeknek a cuccoknak beépítettnek kell lenni.
-
tocsa
senior tag
Tudom, asszem Linux alatt I2C és SMBus cuccokkal lehet is olvasni.
Nade az _nagyon_ pici része a procinak (?), csak bizonyos dolgok vannak benne. Az utasítás végrehajtások logikája, vagy az OOO (Out-Of-Order Exec Unit), retire unit logikája nyilván nincs benne. Akkor az egész CPU csak egy nagy tároló logika lenne. Akkor már majdnem egy transmeta proci lenne az egész. A proci legnagyobb része hardwired. -
tocsa
senior tag
válasz
Flashcash #24 üzenetére
Ezt ne várjuk el a PH!-től. Nem ők itélik meg, hogy mi a súlyosabb hiba. Ez most tényleg annak mondható, ezért van ez csak felkapva. Az F00F bug idején a Pentium került reflektorfénybe, pedig abban az időben az MADknek is volt persze ugyanúgy hosszú erratajuk, csak egyik sem volt olyan súlyos hiba.
A lényeg az, hogy mi értünk hozzá, nem parázunk be, tudjuk, hogy nincs semmi komoly gond. -
tocsa
senior tag
Szerintem nem erről van szó, mert ha ez lenne a szituáció, akkor a szóban forgó BIOS-os gépek mind eléggé faygtak volna. Itt egy laboratóriumi körülmények között reprodukált hibáról van szó. Azért nincs ennél nagyobb botrány, mert ugy néz ki, hogy a hiba előállásához szükséges csillagok szerencsétlen együttállása mindennapi gyakorlatban nem áll elő. Lehet hogy Parci assembly szemével durva hiba (szerintem is), de ha gyakorlatban is előfordulna (nem csak laborban), akkor nagyobb botrány lenne.
A hibából úgy veszem ki, hogy talán az elágazácsbecslés, Out-of-order-execution ill. retire logikákban lehet a hiba. És nem a REP MOVSB instruction végrehajtásában. És akkor ez lehet, hogy esetleg máskor is előjöhet. Ezért fontos az AMD-nek majd későbbi steppingekben sürgősen javítani a hibát.
Még a compilerek patch-elésével lehetne workaroundolni a cuccot, hogy azok toldjanak be a string művelet elé kamu utasításokat. -
tocsa
senior tag
Valami szekértő elmondhatná, hogy egy ilyen hibát hogyan lehet BIOS-ból orvosolni.
Nekem csak óriási hack-ek jutnak eszembe:
- a chipset passzívan figyeli a az adatbuszt, és hogy milyen utasítások áramlanak rajta
- valahogyan figyelia proci DF falg értékét is (?)
- figyeli az RCX értékét is valahogy, hogy 1 és 20 között van-e
- ha DF=1 (vissza irányú a string művelet) és jön egy MOVS, előtte REP perfixxel
- és mindezek előtt az errata-ben említett utasítások voltak (BOUND, CLI, LDS, LES, LFS, LGS, LSS, IDIV, and most microcoded x87 instructions), akkor közbeavatkozik
Már ennek az esetnek a figyelése is baromi bonyolult, mert a mobo nem lát bele a prociba. Sőt, talán lehetetlen is.
És hogyan avatkozik közbe? Bead valami NOP-ot vagy más utasítást sutyiba a procinak, hogy a retire logikát egy kicsit siettesse? De akkor elromlik az IP értéke.
Ezt nem tudom elképzelni. -
tocsa
senior tag
Ne hidd, hogy jobb lenne a hibaszámban a NorthWood. Maximum azért lehet jobb, mert későbbi revizió, ezért az _ismert_ hibák egy részét már kijavították. A Prescott és a Northwood is annyira nagy komplexitású már, hogy ugyanolyan gyakori lehet bennük a hiba. Meg az AMD-ben is.
Hangsúlyozzuk, hogy itt (pl Prescott 31 hibája) az ismert hibákról van szó.
Kb ugyanaz a helyzet mint a szoftvereknél. Csak itt sokkal nehezebb a helyzet a fixálással, mert nem lehet egyszerűen egy patch-el kijavítani. A BIOS javítás valszeg valami orbitális hack workaround a dologra.
Kivétel lehet a Transmeta, ahol ha valahogy pacth-elik a mikrokódit, akkor kijavíthatják kvázi szoftveresen a ''hardver'' hibát.
A processzorok ma már annyira sok állapotot vehetnek fel, hogy a tökéletes letesztelésük gyakorlatilag lehetetlen (vagyishát kivárhatatlan). Ehelyett heuristikákkal és okos logikákkal próbálják őket tesztelni, de néha nem sikerül tökéletesn.
Aktív témák
Hirdetés
- 129 - Lenovo Legion Pro 7 (16ARX8H) - AMD Ryzen 9 7945HX, RTX 4080
- BESZÁMÍTÁS! Apple Macbook Pro 16" 2019 i9 64GB 1TB 5500M 8GB garanciával hibátlan működéssel
- Xbox Ultimate előfizetések
- Dell 5050 i5 7500 8Gb RAM 128Gb SSD
- Új MSI 17 Raider GE78 QHD 240Hz i9-13980HX 24mag 32GB 2TB SSD Nvidia RTX 4090 16GB 175W W11 Garancia
Állásajánlatok
Cég: FOTC
Város: Budapest