找回密码
 加入我们
搜索
      
楼主: slymitec

[CPU] 新CPU还保留16位实模式,纯粹是主要为32位OS提供启动支持?

[复制链接]
发表于 2023-3-21 16:35 | 显示全部楼层
slymitec 发表于 2023-3-21 16:30
uefi一开始就是32位保护模式,这个应该还是没啥争议的……(我刚查了一下,UEFI第一个指令位移内存映射地 ...

如果你对于启动的概念就是CPU启动直接就是UEFI那你的想法是有偏差的,在加载UEFI之前还可以有其他初始化,等到启动UEFI的时候模式早就切换过了
 楼主| 发表于 2023-3-21 16:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-3-21 16:39 | 显示全部楼层
gnattu 发表于 2023-3-21 16:10
你怎么偷换概念

给一个硬件增加软件平台支持是需要大量工程的,这个根本不是“用的好好的为啥去掉支持” ...

楼主是气氛组,但是我喜欢看你的回复。
 楼主| 发表于 2023-3-21 16:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-3-21 17:02 | 显示全部楼层
0xFFFFFFF0 和 uefi 又没关系, CPU 通电时就从这里开始执行, 无论 bios 还是 uefi, 这个地址直接映射到 bios 芯片
16 位实模式也一样能访问 32 位地址空间, 有段, 你本来就有 20 位地址空间, 在第一次 long jump 之前, 低于 0xFFF00000 的地址是不给访问的
发表于 2023-3-21 17:05 | 显示全部楼层
本帖最后由 gnattu 于 2023-3-21 17:26 编辑
slymitec 发表于 2023-3-21 16:39
这可能需要进一步的考证,但是根据目前的理解,cpu上电、芯片组撤销reset信号后, cpu默认就从这个地址开 ...


我也没有说有什么技术问题啊 我的核心不就是 可以 但没必要

然后你否定这个理由 你觉得很有必要 我已经不知道该怎么讲了
你从头到尾觉得可以移除的理由非常不充分 因为你觉得这个东西没用了可以丢
然后我告诉你这个东西还在用 要丢掉不是不可以但是要改东西 没必要
然后你又说 对CPU进行修改就不是问题 那不就回到了 可以 但没必要了吗

顺便 这个CPU上电以后直接读UEFI固件代码是非常理想化的一个想法,现代CPU并不这么初始化自己,只不过我们都假装是这么初始化的

举个实际的例子吧:一些AMD CPU, 比如Picasso,他们把部分AGESA功能放进了PSP,这样你的x86核心在第一个fetch之前面对的直接就是一个已经被初始化过的内存,并且CPU所期待的第一条指令也不会在0xfffffff0,而是PSP算出来的一个位置。PSP有自己的魔法,从flash当中读取BIOS,然后解密/解压到一个计算出的内存地址,然后丢回给x86 CPU进行接下来的加载,x86核心会假装自己启动在0xfffffff0,但是其实这个位置已经经过了一大堆的魔法

发表于 2023-3-21 17:09 | 显示全部楼层
严格来讲,现在的intel cpu还运行在8080的兼容模式,所以这也不意外
发表于 2023-3-21 17:11 | 显示全部楼层
本帖最后由 lh4357 于 2023-3-21 17:20 编辑

问题是,你装不上win98 95这种系统。
装win98安装到一半就提示非法操作。
装win95直接启动不了系统。

要16位有何用?
QQ图片20230321172031.png
 楼主| 发表于 2023-3-21 17:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-4-30 22:55 , Processed in 0.010959 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表