ram是什么意思 ram是什么( 二 )


摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍 。
半导体行业开始腾飞了 。CPU上集成的晶体管数量越来越多 。intel i9的制程工艺已经到了14nm 。所以CPU的执行速度也越来越快 。
当然,摩尔定律也快到尽头了,根据量子力学,2nm是理论极限值 。线宽不能再细了,低于2nm,隧穿效应就会产生干扰 。
闲扯了一段CPU的发展历史,想说明的是,现在的CPU集成度越来越高,速度也越来越快 。每秒钟能执行的指令也越来越多 。(如果不知道指令,汇编之类的啥意思,看一下我的的另一篇文章关于跨平台的一些认识,否则下面的内容看着也有难度) 。
CPU的作用就是去执行指令(当然,也包括输出结果等,本文只讨论和存储器相关,所以不扯其他的),并且尽可能的以它的极限更高速度去执行指令,至于具体的执行过程,做过单片机或者学过微机原理的应该比较清楚 。就是伴随着时钟周期滴滴答答的节奏,CPU踏着拍子来执行指令 。
至于CPU的指令集,那就是Intel的架构师们的工作,总之,CPU认识这些指令,并且能执行运算 。(别忘记了冯诺依曼体系结构那张图) 。对于这些指令,但是CPU采取了各种措施来加快执行过程(也可以理解为加快它的计算速度) 。比如有以下几种常见的措施:
流水线(pipeline)技术:有电子厂打工经历的读者肯定很熟悉这个流水线模式 。CPU的流水线工作方式和工业生产上的流水线概念一样 。就是将一个指令的执行过程也分解为多个步骤,CPU中的每个电路只执行其中一个步骤,这样前赴后继加快执行速度 。CPU中多个不同功能的电路单元组成一条指令处理流水线,然后将一条指令分成几个步骤后再由这些电路单元分别执行 。在执行过程中,指令源源不断的送往CPU 。让每个电路单元都不闲着,这样就大大的加快了执行速度 。超线程(Hyper-Threading)技术:对于超线程,百度百科的解释我都没看懂,但是大概原理就是这样的 。CPU在进行线程切换的时候,要执行 切换各种寄存器状态等一些操作 。把之一个线程的各种寄存器状态写回缓存中保存,然后把第二个线程的相关内容送到各种寄存器上 。该过程必不可少,否则待会再将之一个线程切换回来时,不知道该线程的各个状态,那还怎么接着继续执行呢?也正因为如此,所以这个过程比较慢,大概需要几万个时钟周期 。所以后来做了这样的设计,把每个寄存器等都多做一个,就是多做一组寄存器(也包括一些其他相关电路等),,CPU在执行A线程时,使用的之一组寄存器,切换到B线程,直接使用第二组寄存器,然后再切换A线程时,再使用之一组寄存器 。,CPU就不用再傻傻的等着寄存器值的切换,线程切换只需要几个时钟周期就够了 。对于普通的执行多任务的计算机,CPU线程切换是个非常频繁的操作,所以使用该技术就会节省大量的时钟周期 。也就是相当于加快了CPU的执行速度 。这就是CPU宣传参数中所谓的四核八线程的由来,其实就是超线程技术 。(每个核多做一组寄存器等电路固然会占用宝贵的空间,但是它带来的优点远远大于缺点) 。超标量技术:CPU可以在每个时钟周期内执行多个操作,可以实行指令的并行运算 。乱序执行: 我们认为程序都是顺序执行的 。但是在CPU层面上,指令的执行顺序并不一定与它们在机器级程序(汇编)中的顺序一样 。比如 a = b+c; d++;这两个语句 不按照顺序执行也不会影响最终结果 。当然这只是在CPU执行指令的层面,在程序员们看来,依旧认为程序是顺序执行的 。前面扯了那么多,就是为了说明CPU的执行速度很快 。虽然每条指令的执行时间需要几个时钟周期到几十个时钟周期不等 。但是CPU采用了种种技术来加快执行过程 。所以平均执行一条指令只需要一个周期 。而现在CPU主频都那么高 。比如i7 7700K主频达到了 4.2G 。这也就意味着,每个core每秒钟大约可以执行4.2亿条指令 。那四个core呢?
CPU每秒钟可以执行几亿(甚至十几亿)条指令,所以它的执行速度真丫的的快啊
我们讨论完CPU如此快的执行速度,我们再来说我们常见的存储设备-机械硬盘 。

ram是什么意思  ram是什么

文章插图
图2:机械硬盘结构
机械硬盘的结构就不再具体的讨论了 。它让我想起了民国电影中那种播放音乐的唱片机 。
带机械硬盘的电脑,在使用过程中,如果机箱被摔了,可能后果很严重,就是因为可能会把机械硬盘的那个读写头/传动臂等机械结构摔坏 。

推荐阅读