这几篇文章里介绍的是是概念和逻辑,软件业掺杂了硬件,我在总结完会去学调一下windowsAP种对内存管理的函数
先说一下32位内存
DRAM(动态随机存取存储器):我们一般用的内存
原理:一个简单的电容,由硅掺杂做成的
数量:充电存储的1,放电为0,1个表示1bit,32位机器上操作系统管理的内存是4G,那上面有的电容是32*4*1024*1024*1024,已经上了数十亿了,手机上也一样
优点:便宜
缺点:<1集成度高且制作很小,但是要让内存加大就会有一个问题,且这个问题也是英特尔遇到的问题,就是散热,数十亿的电容散热,即使每个单位散发的热量再小总和也庞大
<2充电为1放电为0,几毫秒之后会自动释放电,但我们要求的是那个位一直为1肿们办
解决缺点:<1英特尔用散热片,改成风扇,改成液氮,仍没有特别好的办法
<2CPU里面有个定时器,间隔几毫秒循环充电
SRAM(静态随机存取存储器):DRAM的电容在加上4到6个晶体管构成一种稳态
优点:不需要循环充电
缺点:<1贵<2集成度高(DRAM由一个电容和一个晶体管构成,一个SRAM需要一个电容和至少4个晶体管构成)
我们再来说一下32位CPU
功能:操作、控制
构成:CPU32根地址总线找到MMU(内存管理单元),地址总线上的线性地址通过页寻址机制转换为物理地址,之后寄存器和物理地址间搭建数据总线,红色的寄存器控制是寄存器将数据传送给物理空间还是物理空间将数据传送给寄存器,定时器会定时充电(给DRAM)
地址总线的数目多少意味着CPU可以管理的物理内存的数目(以字节为单位)2的地址总线的数目次方
所以说,如果是32位的CPU搭配着64位的操作系统,是安装不了的,不过04年后CPU大多都64位的了
64位的CPU可以安装32位操作系统或者64位操作系统,是32位的操作系统的话地址总线就会浪费很多
我们PC上玩的游戏用的软件是英特尔的CPU和微软的操作系统支持的
我们手机上用的软件是arm的CPU和安卓的操作系统
arm很多人应该不知道,是设计cpu的公司,在英国,我们现在用的三星苹果等大多的手机的cpu都是arm,不过不是arm生产的,arm设计了cpu,将设计的制造授权给苹果三星等手机厂商,然后每制造一个arm的cpu就要arm多少钱
现在微软和英特尔也意识到了手机的市场,开始进军
如果拥有微软的操作系统和英特尔的CPU的手机和拥有安卓的操作系统和arm的CPU的手机价格等同在你面前,如何选择
答案是微软英特尔的,为什么呢,我们小时候玩的CS,或者现在玩的英雄联盟都可以直接放进来玩
如果把这些游戏移植的话也可以放在安卓手机上玩,但是移植的费用太高,一直也没有人玩
最重要的是,微软英特尔从40年前开始积累,很多我们玩的游戏都是需要在他们的操作系统上支持才能运行
诺基亚的失败就是有了塞班的操作系统,但没有在这种系统上用的软件,除了打电话以外就是了砖头,很多搞软件的很难将软件安装上去