背景处理器是冯·诺依曼架构的核心,内存是另一个重要的组成部分。下面主要介绍内存的发展趋势、程序的局部性原理、缓存思想在程序中的应用。内存技术及其发展趋势从程序员的角度来看,内存是一块连续的区域,从地址0开始,基本不管用完没用完。健康)状况。比如创建一个对象(*p=newA)时,会在内存中分配空间。如果内存耗尽,会产生一个空指针p,但此时不会报错,只有对p进行操作才会报错。这说明内存虽然有上限,但是在使用的时候基本不考虑。上面对记忆的处理叫做鸵鸟算法,就是遇到危险就把头埋在地里,假装什么都看不见。当计算机遇到内存耗尽等罕见错误时,不会考虑这个问题,而是直接让程序崩溃,崩溃就崩溃。但是,如果操作系统不工作,如果它崩溃了,那么在它上面运行的所有程序都会崩溃。向上。因此,操作系统需要考虑内存不足的情况。操作系统如何保证进程使用的内存空间不冲突呢?程序程序是一个静态的概念,是指以文件形式存储的二进制指令流;而进程进程是动态的,它是一个正在运行的程序的实例(程序类似于类,进程类似于对象)。现代操作系统是可以同时运行多个程序的多进程系统。如果每个程序都可以访问内存,那么操作系统如何保证进程使用的内存空间不冲突呢?为了解决这个问题,我们为每个进程分配了一个私有空间,这提供了一种错觉,好像每个进程都在独占整个内部空间,这种机制称为虚拟内存。访问内存时,内存和CPU是如何交互的?主内存是内存桥芯片:在冯诺依曼架构中,内存和外围设备以不同的速率运行。内存比较快,但是键盘、打印机、鼠标比较慢。如果挂在桥上,通信速度由慢的决定,快的不快。因此,我们使用桥接芯片将系统总线从CPU引出。一种是连接主内存、最新显卡和高速网络(千兆以太网、USB3.0协议设备)的高速总线,一种是低速总线。连接usb2.0协议下的键盘和设备,保证系统工作在更高的效率CPU和内存交互示例处理器首先通过系统总线向主存发送地址。系统总线包括三部分:地址总线(发送到哪里)、数据总线(发送什么信息)、控制总线(传输方向,从CPU到内存)。例如,在mov指令中,CPU发送一个控制信号,即读取信号到主存,描述数据流向。值得一提的是,读写是以CPU为第一人称。例如read信号表示CPU读取数据,数据流入CPU然后主存从A地址读取数据,发送到数据总线,发送到eax寄存器,完成读取过程。主存储器(lowerlevel)的内部实现mainmemory本质上称为RAMrandomaccessmemory,即访问时可以任意改变地址。相对于随机访问是连续访问,即只能从指定地址开始连续访问,一条一条往下读。RAM是早期内存的基本存储单元,分为静态SRAM和动态DRAM。一个基本单元只能存储一位数据。在SRAM静态存储器SRAM的一个存储单元中,至少需要4~6个晶体管。如上图所示,它包含两个独立的静态晶体管和一个电路模块(一个电路模块由两个晶体管组成),组成双稳态电路。稳态电路是相对于瞬态电路而言的。开关刚合上时是暂态,然后进入稳定状态,称为稳态。双稳态电路有两个稳定状态。一种稳定状态存储逻辑0,另一种存储逻辑1。利用这种机制在SRAM中存储0和1,字线决定是否访问电路,位线负责写入数据。SRAM存储的数据非常稳定,由半导体存储,抗干扰(电磁干扰、宇宙射线干扰)能力强。即SRAM可靠性高,工作速度快,但成本高。由于宇宙射线干扰存储和位翻转(0->1),太空计算机(用于火箭和航天器的计算机)非常关心存储的可靠性。SRAM常用来存储DRAM动态存储DRAM存储单元实现比SRAM简单很多,用一个电容和一个三极管就可以实现。晶体管被视为受控开关。当电容器两极板的电压差大于一定值时为1,否则为0。由于电容器充放电需要时间,所以工作缓慢。而且,电压可能因漏电而下降,数据会被破坏,因此应在下降到一定值之前进行充电。DRAM可靠性差,速度慢,但实现单元简单,成本低。民用DRAM的发展历史于1966年提出,1970年由英特尔公司实现并商品化,此结构自此从未改变。现在内存越来越快,主要是半导体工艺的不断改进,而不是内存结构的进步。但是现在半导体工艺几乎已经达到了顶峰。比如中兴目前最多加工14nm芯片,美国台电可以做7nm,正在做4nm。半导体越好,工作效率越快。目前这种不需要设计者考虑红利的工艺带来的性能提升不会持续太久,摩尔定律在未来也会走到尽头。新的DRAM实现方式同步DRAM:每个上升沿传输一个数据。双倍数据速率同步DRAM:一般DRAM只能在上升沿或下降沿发送数据,而双倍DRAM可以发送数据,即在一个时钟周期内可以发送两个数据,称为DDR非易失性存储器。它是易失性存储器,断电时存储的数据会丢失。而另一种内存是非易失性内存,即使断电,数据也不会丢失。光驱、磁盘、DVD都是非易失性存储器,成本低、容量大,但速度太慢。非易失性存储器简介ROM中存储的数据只能被CPU读取,不能修改。即数据在芯片设计时已经生成,用户不能修改PROM可编程ROM。生产时相当于生产一张白纸,只能写一次。之后,EPROM就不能修改了。可擦ROM是可以改变的,但是擦除条件比较苛刻:紫外光、UV、X-RAYEEPROM都可以用电信号擦除,所以计算机更新数据比较容易。主要用于存放计算机的自显程序。本方案为自显方案)闪存可读写存储是目前的主流产品,又称闪存,固态硬盘以闪存为基本单位
