Dle mého názoru: měkký reset: bootuje z resetovaného vektoru. hard reset: vytáhněte elektrickou úroveň procesoru.

4,249 1 1 35 zlatý odznak 35 46 stříbrných odznaků 46 XNUMX bronzových odznaků
zeptal se 8. května 2012 ve 2:48
53 1 1 zlatý odznak 1 1 stříbrný odznak 3 3 bronzových odznaků

To není vhodné. a) na svou otázku jste si odpověděl sám názorem. b) příliš mnoho dalších věcí na seznam.

Květen 8, 2012 na 2: 49
Omlouváme se za to, děkuji za vaše komentáře.
Květen 8, 2012 na 3: 00

4 odpovědi 4

Tvrdý reset jistě znamená, že se resetuje celý čip CPU a všechny jeho periferie. Příčin může být mnoho: resetovací kolík vytažený externě, selhání hodin, detekce nízkého napětí na čipu, hlídací pes, nelegální instrukční pasti atd.

Měkký reset pravděpodobně znamená «špinavou» větev zpět do vektoru resetování, kde vektor resetování obnoví všechny registry jádra CPU včetně zásobníku. Řekl bych, že je to velmi sporná praxe a nejsem si jistý, k čemu by to bylo dobré. Hlavním problémem je, že všechny periferní hardwarové registry MCU se -ne-resetují na výchozí hodnoty, když to uděláte. Je téměř nemožné neudělat žádné předpoklady o stavu resetování všech takových registrů, zvláště když průměrný MCU má v dnešní době více než 1000. Takže s tímto měkkým a špinavým resetem s největší pravděpodobností skončíte takto:

Více přitažené za vlasy, měkký reset by mohl znamenat reset způsobený softwarem. V takovém případě to může být zapsání nesprávné hodnoty do registru hlídacího psa pro vynucení resetu nebo selhání obnovení hlídacího psa. Nebo to může být provedení nezákonného pokynu. Ty s největší pravděpodobností způsobí kompletní reset celého čipu.

odpověděl 8. 2012. 8 v 52:XNUMX
200k 41 41 zlaté odznaky 255 255 stříbrné odznaky 406 406 bronzové odznaky
Je použití hlídacího psa ke spuštění resetu tak přitažené za vlasy?
Květen 8, 2012 na 10: 36

@MartinThompson Říkat tomu „soft reset“, když ve skutečnosti provádíte reset celého hardwaru, je docela přitažené za vlasy, řekl bych.

Květen 8, 2012 na 11: 35

ČTĚTE VÍCE
Proč mi nefungují všechna okna v autě?

Vlastně si myslím, že by to mohla být věc nomenklatury. Elektroničtí inženýři obvykle mluví o „měkkém“ a „tvrdém“ softwaru a hardwaru. Na druhé straně softwaroví inženýři znamenají něco jiného (protože všechno je pro ně software): porovnejte s termíny softcopy a hardcopy soft znamená „udělejte to napůl“ a tvrdý význam „udělejte to naplno“.

Květen 8, 2012 na 11: 41

Na platformě Intel je měkký reset (zapsáním 0x4 na port 0xcf9) teplým resetem CPU, tj. resetem za běhu CPU. Teplý reset (zápis 0x6 na port 0xcf9) je reset hostitele bez vypnutí napájení a tvrdý reset (zápis 0xe na port 0xcf9) je reset hostitele s cyklem napájení. Globální reset je reset Intel ME kombinovaný s resetem hostitele.

Studený reset CPU je aktivace RESET# při počátečním napájení CPU. Teplý reset CPU nastane, když dojde k INIT# nebo RESET#, zatímco V_cc a CLK zůstanou ve specifikovaných provozních mezích. Pokud pouze INIT#, pak to pouze vyprázdní BTB a TLB a pouze inicializuje celočíselné registry a přejde k restartu MSROM rutiny (už ne jen 0xFFFFFFF0 na systémech UEFI). Pokud RESET#, vyprázdní také mezipaměti a inicializuje registry FP a ne pouze celočíselné registry. Toto je počáteční stav registrů, myslím, než začne mikrokód. Pokud potvrdíte INIT# a RESET# společně, udělá to také BIST. Myslím, že v tomto případě to opakuje proces výběru BSP aka. protokol MP Initialization, protože BIPI je odeslán do all-include-self po dokončení BIST, a myslím, že také provádí výběr BSP, když neexistuje žádný BIST, tj. pouze RESET#, když je teplý/studený (toto mluví o odeslání BIPI po volitelném BIST při resetu). Na moderních procesorech Intel si myslím, že RESET# je jeden na soket a resetuje všechna jádra a je svázán s PCH PLTRST# , zatímco INIT je odesílán PCH přes DMI v transakci PCIe VLW a je distribuován na jádro po jádru. na zadaná jádra nakonfigurovaná v registru CPU jako QPIPNCB.

Teplý reset je potvrzením PLTRST# ze strany PCH, které jde do mnoha komponent a systém zůstane v S0. Při tvrdém resetu systém cyklicky přejde přes SLP_S0# na SLP_S5# a poté cyklicky nahoru přes SLP_S5# na SLP_S0#, aby skončil v S0 C0 (když je PLTRST# nakonec zrušeno), bude to mít za následek resetování DRAM, což PLTRST# sám o sobě nedělá. SLP_S0 — S5# high znamená, že CPU je v S0 C0. SLP_S0# nízké znamená, že je v S0 Cx, SLP_S0# a SLP_S3# nízké znamená, že je v S3, SLP_S0# a SLP_S3# a SLP_S4# nízké znamená, že je v S4 a tak dále.

ČTĚTE VÍCE
Je Peugeot 108 dobré první auto?

Myslím, že studený reset je, když se systém zavede z G3 a potřebuje projít PCH_RTCRST# a EC_RSMRST#, než se vrátí do stavu, ve kterém byl před G3, což může být DeepSx, S5 nebo S4. Ale uvidíte, že lidé nazývají tvrdý reset studeným resetem a studený reset studeným spuštěním. Asi bych použil výrazy hard reset a cold bota. Teplé spouštění by bylo obnovením S3 a studené spouštění by bylo zavádění z S4/S5/G3, možná byste mohli všechny S4/S5 tvrdé spouštění a G3 studené spouštění.