Embedded “与”的区别是什么;“软复位”;及;“硬复位”;在嵌入式领域?

Embedded “与”的区别是什么;“软复位”;及;“硬复位”;在嵌入式领域?,embedded,cpu-architecture,reset,motherboard,chipset,Embedded,Cpu Architecture,Reset,Motherboard,Chipset,我认为: 软重置:从重置向量引导。 硬复位:拉动cpu的电平 我想这可能会因芯片而异。硬复位可能被认为是设备(引脚、球等)上的复位线,当向某个方向拉动时,会使部分或全部芯片复位。软复位,可以像分支到零或分支到复位向量一样简单,也可以是您写入的寄存器或寄存器中导致硬复位的位,或者可能是接近硬复位的某个位,想象一下芯片内部的一层,硬复位击中外层,软复位击中某个内层,可能不是整个芯片。例如,您可能不想从pcie总线上掉下来,所以请不要管它。通常情况下,例如,jtag(或其中的一部分)不应通过重置来触摸

我认为: 软重置:从重置向量引导。
硬复位:拉动cpu的电平

我想这可能会因芯片而异。硬复位可能被认为是设备(引脚、球等)上的复位线,当向某个方向拉动时,会使部分或全部芯片复位。软复位,可以像分支到零或分支到复位向量一样简单,也可以是您写入的寄存器或寄存器中导致硬复位的位,或者可能是接近硬复位的某个位,想象一下芯片内部的一层,硬复位击中外层,软复位击中某个内层,可能不是整个芯片。例如,您可能不想从pcie总线上掉下来,所以请不要管它。通常情况下,例如,jtag(或其中的一部分)不应通过重置来触摸。当软件拉动复位线时,它会自杀,谁将释放该复位?硬件上的一些东西,有很多方法可以解决这个问题,但是如果用带有数字组件的东西解决,那么数字部分不应该被软件的重置击中,否则你会再次陷入无法释放的困境。

硬重置肯定意味着整个CPU芯片及其所有外围设备都被重置。造成这种情况的原因可能有很多:复位引脚从外部拔出、时钟故障、片内低电压检测、看门狗、非法指令陷阱等

软复位可能意味着返回复位向量的“脏”分支,复位向量恢复包括堆栈在内的所有CPU核心寄存器。我会说,这是一个非常可疑的做法,我不知道它会有什么好处。主要的问题是,当您这样做时,所有MCU外围硬件寄存器都不会重置为默认值。几乎不可能不对所有这些寄存器的复位状态做出任何假设,特别是因为目前平均的MCU都有1000多个寄存器。因此,通过这种软而脏的重置,您很可能会出现如下行为:


细微的间歇性错误它可以表示系统设计者希望它表示的任何意思。没有通用的定义。例如,RAM的内容可以通过软重置来维护,但不能通过硬重置来维护,或者可能只是外部硬件重置信号和软件重置指令之间的差异。

在英特尔平台上,软重置(将
0x4
写入端口
0xcf9
)是CPU热重置,即,在CPU运行时进行重置。热复位(将
0x6
写入端口
0xcf9
)是不带电源循环的主机复位,硬复位(将
0xe
写入端口
0xcf9
)是带电源循环的主机复位。全局重置是英特尔ME的重置与主机重置相结合

冷CPU重置是在CPU最初通电时的
reset 35;
断言。当V#u cc和CLK保持在规定的工作极限时,当发生
INIT 35;
reset#
时,CPU热复位。如果您只是
INIT 35;
,那么它只是刷新BTB和TLB,并且只初始化整数寄存器,然后转到重启MSROM例程(不再只是UEFI系统上的
0xFFFFFFF0
)。如果您
RESET #
,则它也会刷新缓存并重新启动。这是寄存器的初始状态,我想在微码开始之前。如果同时声明
INIT
RESET
,那么它也会执行BIST。我认为在这种情况下,它会重新形成BSP选择过程。MP初始化协议,因为a,我认为它在没有BIST时也会执行BSP选择,即在热/冷时只执行
RESET.
(谈论在可选BIST复位后发送BIPI)。在现代Intel CPU上,我认为
RESET#
是每个插槽一个,重置所有内核,并绑定到PCH
PLTRST#
,而
INIT
是由PCH通过DMI在PCIe事务中发送的,并以内核为基础分发到CPU寄存器(如QPIPNCB)中配置的指定内核

热复位是PCH对
PLTRST#
的一种断言,它连接到许多组件,并且系统保持在S0状态。在硬复位时,系统通过
SLP#u S0#
循环至
SLP#u S5#
,然后通过
SLP#u S5#
循环至
SLP#u#
循环至S0 C0(当
PLTRST#
最终解除评估时),这将导致DRAM复位,而
PLTRST#
本身无法复位<代码>SLP_S0-S5#
高表示CPU处于S0 C0状态
SLP_S0#
low表示它在s0cx中,
SLP_S0#
SLP_S3#
low表示它在S3中,
SLP_S0#
SLP_S3#
SLP_S4#
low表示它在S4中,依此类推


冷复位我认为是当系统在返回G3之前的状态之前启动时,可以是DeepSx、S5或S4。但你会看到人们称之为“冷启动”,而“冷启动”则是“冷启动”。我可能会使用术语硬复位和冷启动。热启动将是S3恢复,冷启动将从S4/S5/G3启动,也许您可以将所有S4/S5启动为硬启动,G3启动为冷启动。

这不合适。a) 你用自己的观点回答了你的问题。b) 太多的事情要列出。很抱歉,谢谢你的评论。使用看门狗触发重置是否有那么牵强?@MartinThompson在你实际重置整个硬件时称之为“软重置”是相当牵强的,我会说。实际上我认为这可能是一个命名问题。电子工程师在提到软件和硬件时通常会提到“软”和“硬”。另一方面,软件工程师意味着其他东西(因为对他们来说一切都是软件):c