Intel和AMD不将内存条集成到CPU里,跟高速为什么不修到家门口的道理是一样的。即使真的高速经过了家门口,也要经过高速收费站降速后走城区道路才能停在家门口。
理论上电脑其实并不需要内存和硬盘。早期的计算机接收指令是通过读取穿孔卡片来实现,根本没有硬盘和内存一说,CPU如果每秒执行100条指令,那么每秒钟最多只能读取穿孔卡片上的10条指令,这就意味着90%的时间是在等待指令。早期的计算机就是一台会批量处理数据的机器,它只会按照穿孔卡上的执行顺序执行,如果突然出错了,就意味着需要从头再来顺序执行。
CPU内置大容量的内部存储前人也并不是没有想过,结果是普通人根本买不起这样的计算机。这就好比在城市中央寸土寸金的CBD区域划出一块地来建物流中心是一样的道理。所以计算机最终综合读写速度、空间大小、产品价格等因素,采用分层结构来实现程序指令和数据存储合并在一起,最终沿着冯·诺依曼提出结构体系发展。
冯·诺依曼明确地指导了将存储装置和CPU分开,并且将程序本身当作数据来对待,程序和程序处理的数据使用同样的方式来存储,并且确定了存储程序计算机的五大组成部分和基本工作方法。好的城市架构是具有极强的生命力和创造力,不是谁都能够在某些地方画一个圈,然后凭想象崛起一座座高楼的。
计算机分层存储结构体系
CPU专注于超级快的计算数据,但它并不参与存储数据,所以就需要其他设备来协助记录流程和数据。
我们都知道CPU很聪明、算数很快,但缺点就是记不住太多东西,算完的东西不存起来就忘了,所以就需要其他存储设备来协助记录流程和数据。巧就巧在没有一种存储设备能够兼顾读取速度快、容量大、便宜。这就跟一座城市的人不可能一出门就座高铁的道理是一样的,总需要通过不同的途径先到达高铁站,才能搭上这趟快车。
CPU内部存在存储器,它和CPU的材质是一样的,速度和CPU相当,但存储空间只以KB计算,主要是存放CPU立马就需要访问的数据。
越是远离CPU核心的存储设备存储容量就越大,依次为寄存器、高速缓存L1、高速缓存L2、高速缓存L3、内存、硬盘,换句话说就是存储的成本更低,但缺点也很明显,速度越来越慢。最终永久保留数据的只有硬盘,中间的分层存储断电后数据就会消失,作用仅仅只是逐级给硬盘和CPU匹配速度,这和自行车的变速传动是一样的道理。
一个程序在电脑里的执行过程
程序执行时操作系统会将所有的任务先从硬盘放到内存中,紧接着逐级的递交给高速缓存L3、L2、L1,最终到达离CPU核心最近的寄存器,CPU最终是寄存器中获取它需要处理的数据。
处理完的数据会放回到寄存器,然后再按照刚才的顺序逆向返回到内存里,直到任务逐渐关闭并且将需要存档的数据存进硬盘中,所有的操作才算完成了。这时我们就会发现并不是说内存越大电脑的性能就越好,还得由CPU的架构好才能用更低的功耗处理更多的数据,但中途接棒的寄存器、高速缓存不给力,再大的内存和再快的CPU计算处理能力也不顶用。
暂无评论内容