查看原文
其他

也许是最良心的硬件信息读取工具:RW-everything

Wolf UEFI社区 2023-12-29
点击上方“公众号” 可以订阅哦!

本专栏不遗余力的介绍了很多BIOS/UEFI和计算机的硬件知识,相信很多读者都已经跃跃欲试,想要亲手实验一下其中的过程,但往往苦于没有合适的工具,无法查看硬件的状态。这里推荐一个堪称最良心的硬件信息查看工具:RW-everything。这个工具没有JTAG工具强大,但对于一般用户来说却是足够了。实际上,我们业内做BIOS的固件工程师、硬件工程师也大多使用它来随手查看或者设置一些硬件的信息。它的功能十分强大,关键是只有一个版本:免费的版本(接受捐赠)!而且它的作者是台湾地区的同胞,非常难得。堪称良心软件了。

下载它请到官网:

http://rweverything.com/

安装过程也十分简单,这里就略过了。我们结合几个例子来看看它能干什么。

PCI配置空间访问

PCI是整个计算机系统的骨干之一,十分重要。我们在前面介绍过不少PCI/PCIe的相关知识:

深入PCI与PCIe之一:硬件篇

深入PCI与PCIe之二:软件篇

下面我们来实践一下,在Access里选取PCI:

开启PCI窗口:

红框是PCI设备的地址 BDF(BUS:Device:Function),绿框内是该设备的PCI配置空间,篮筐内提示信息。我们可以在绿框内修改PCI配置空间内寄存器的内容,当然前提是你知道你在做什么,瞎改可能会造成该设备停止工作。

那么系统内到底有哪些PCI设备呢?我们点击该窗口的PCI tree按钮,打开PCI tree窗口:

我们可以看到这台计算机内的PCI设备树。红框内的信息如果你阅读了相关知识的话就会知道,一个1394的控制器被挂接到南桥的PCIe rootport下面了(BDF:0/1C/07)。厘清系统中的设备树,就会对你的计算机组成心中有数了。点击设备树窗口的设备,PCI配置空间的设备也会跟着变化,十分方便。

任意内存/IO访问

RW-everything可以访问任何物理地址:

注意这里是物理地址,不是线性地址。这个地址有可能是真正的内存、也有可能是Memery IO(MMIO)。我们在PCI的内存BAR上分配的MMIO也可以通过它来查看。

内存SPD内容

内存是系统的重要组成部分,我们也花了不少篇幅介绍内存:

内存系列一:快速读懂内存条标签

内存系列二:深入理解硬件原理

内存系列三:内存初始化浅析

那么我们计算机内的内存条的到底它的参数是什么呢?

我们可以看到主板上内存SPD信息:

这是第四根内存条,SMBus的地址是0xA6。第一根到第四根地址一般分别是A0,A2,A4,A6。红框部分是SPD的信息,可以看出它是DDR3(好吧,我承认是比较老),大小是2G一根,频率666MHz,CL等的信息也在下面。

CPU MSR

CPU的介绍也占据了本栏目的不少篇幅:

CPU省电的秘密(一):EIST

CPU省电的秘密(二):CStates

睿频:榨干CPU所有的潜力

根植于硬件的极速变频技术:Speed Shift

CPU的设置往往是通过填写MSR来完成的。我们点开CPU MSR:

缺省的窗口是设置Cache熟悉的MTRR寄存器信息,大家可以结合IA32 Manual来看。在User标签栏里,我们可以增加自己的内容,格式是

<RegisterName>=<0xAddress>

我增加了MSR 0xCE, PLATFORM_INFO寄存器的内容:

双击PLATFORM_INFO可以查看详细信息:

我们重点关注bit8到bit15的内容,根据spec,它是Maximum Non-Turbo Ratio的内容,也就是不开启Turbo mode的最大倍频,这里他是30。我们的基频是100MHz,所以结果应该是3GHz,我们来检验一下:

完全正确,同时内存也符合我们发现的结果。大家也可以按照IA32 manual里的MSR自己玩一下,但是有一点必须要提醒,有些MSR被BIOS保护,在操作系统阶段不能访问。一旦在RW-Everything里面访问该MSR就会触发异常,造成蓝屏,大家在尝试之前把重要文档存盘。

ACPI Table

ACPI是重要系统硬件不同的重要抽象:

ACPI与UEFI

RW-Everything可以方便的显示你的电脑ACPI是什么样的:

这些RSDP、XSDT等等标签栏是ACPI的各种表,其中DSDT和SSDT十分重要,UEFI固件工程师需要特别关注。

结论

RW-Everything的功能很多,限于篇幅这里就不再罗嗦了,大家可以自行摸索。建议大家结合这篇文档:

如何阅读芯片硬件手册?

边阅读硬件手册,边动手实验一下。如果一时找不到合适你的电脑的文档也不要紧,这些年来,硬件寄存器有着延续性,没有发生太大变化,很多时候都是增加新功能罢了,这些新功能一般读者也不会用到,没有多大关系。

另外对UEFI/BIOS工程师来说,在Shell下还有个很好的工具:RU。它的界面是这样:

很有BC编译出来的风格,是不是?它也是免费的,也是台湾同胞开发的,在官网可以下载到:

http://ruexe.blogspot.tw


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存