位于计算机内存中的黑洞

人类历史上第一张实拍黑洞照片出炉了,实际上,这幅照片也是利用有限的数据进过计算推演出来的,因为要实拍下这个黑洞全貌,需要大于地球直径口径的望远镜。

640?wx_fmt=png


然而你知道么,计算机的内存中竟然也存在“黑洞”!

640?wx_fmt=png

宇宙是个大空间,在这个空间中弥漫着大量的火花——恒星,如果把宇宙演化的过程加快,这些恒星就像转瞬即逝的烟花一样。以及行星和星云等各种天体。


而CPU的可寻址范围也是个大空间,被称为物理地址空间,比如64bit物理地址空间中最大可包含2的64次方个地址,每个地址上可以存放一个字节。然而,如同宇宙一样,CPU的这64bit物理地址空间其实蛮大的,而也如同宇宙一样,在这个物理空间中,分布着各种存储器,包括:


  1. SDRAM。也就是俗称的主存。这里存放着操作系统和应用程序代码和数据。

  2. BIOS ROM。包括主板BIOS ROM和外部设备比如各类PCIE卡上的BIOS ROM。这里存放着用于早期启动的原始程序和数据。

  3. 设备寄存器/存储器。这里存储的是用于与设备之间交互的各种控制信息或者数据缓冲。

640?wx_fmt=png

上述三种存储器在实际计算机中的容量都是有限的,比如单台计算机配备的RAM通常从几GB到几TB之间,而ROM也就是数MB空间,外部设备中的存储器空间通常在数KB到数GB之间。这些存储器空间被映射在CPU的物理地址空间中,至于应设在哪段区域,则由BIOS和操作系统共同管理和决定。


也就是说,整个CPU物理地址空间中很大一部分其实是真空的,没有存储任何内容,而程序也不会发出针对这些地址的访问,否则会被认为是非法访问而。目前物理和天文学家认为,宇宙中充满了暗能量,也就是那些没有被物质填充的所谓“真空”中,其实是有能量形式存在的,这就像应用程序认为整个物理存储器都是它自己的,一马平川,而实际上SDRAM中还存在操作系统内核程序和数据,以及其他应用程序的代码和数据,而这些它看不到的东西,就是计算机空间中的暗物质/暗能量。


那么,CPU物理地址空间中是否存在类似宇宙中黑洞的结构呢?答案是肯定的。在《大话计算机》一书第862页上,该书作者冬瓜哥进行了详细的阐释:

640?wx_fmt=png

原来,主板BIOS ROM和Video BIOS ROM都可以被shadow到SDRAM中从而加速CPU执行ROM中的代码,那么这两块ROM被映射在物理空间中的区域就成了“黑洞”。在早期32bit CPU时代,没开启PAE的话,CPU最大可访问32bit物理地址空间,也就是那时的宇宙只有4GB大小,而那时候已经有4GB的RAM了,一个RAM就能把整个宇宙占满,如果宇宙中还存在这些黑洞的话,那么就不得不砍掉一些RAM容量,少映射一些到空间中,那就很不划算了。


冬瓜哥在其著作《大话计算机》中,对hole给出了详细的阐释,在尾声部分,也思考了整个宇宙模型与计算机模型之间的联系和区别,对事物本质、过程的思考丝丝入扣,令人拍案惊奇!


扫码购书!

640?wx_fmt=png



640?wx_fmt=png

大话计算机


640?wx_fmt=png

大话存储




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值