为何我们需要64位CPU?——基于分段寄存器方案的质疑探讨
为什么我们还需要64位CPU?
在软件开发中,32位变量已能满足99.99%的需求,那我们为何还需要64位CPU?
如果是为了解决寻址问题,难道不能像8086那样,通过“分段寄存器”完美解决吗?每个分段提供4GB空间,最多支持2^32个分段,足以满足可预见的未来需求,甚至未来100年都够用。
然而,直接采用64位CPU不仅会浪费大量晶体管,还会消耗可观的内存空间。
通过分段寄存器扩展32位CPU的优势:
- 可解决寻址空间问题
- 能平衡内存空间消耗与软件开发需求
- 每个分段提供4GB空间,最多支持2^32个分段,足以满足所有软件使用需求。若单个分段超过4GB,说明软件架构设计不佳,不利于软件维护,而这种方案反而能促使开发者优化架构设计
- 节省的晶体管资源可用于增加核心数量或扩大缓存容量,同时更简单的核心有助于实现更高的时钟频率
- 可实现最大化软件兼容性,消除当前常见的32位与64位代码库交互带来的混乱
当然,对于GPU、DSP、TPU等专用处理器而言,位数的影响并不大。这类处理器专为特定用途设计,可针对性优化且不影响软件兼容性,但对于作为通用处理器的CPU,这些考量并不适用。
注:以上并非专业观点,而是基于个人工作经验的观察
内容的提问来源于stack exchange,提问作者coffeeking
相关产品推荐
相关产品推荐

