在学习c++内存操作之前,首先需要了解一下c++内存操作的目的:主要是用来对数据进行空间分配,其重点在于数据和空间,而数据是用来被cpu进行操作的,空间是用来存储数据的。所以,要想了解内存的操作,需要补充一点关于cpu的工作过程的知识及存储器的基本概念。以下内容主要来源于百度百科的解释:
1.cpu的基本工作过程:
cpu从存储器或高速缓存存储器(cpu操作内存中常用数据的过渡)中取出指令,放入指令寄存器(是cpu的一部分),并对指令译码,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。
提取
第一阶段,提取,从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。由程序计数器(Program Counter)指定存储器的位置。(程序计数器保存供识别程序位置的数值。换言之,程序计数器记录了CPU在程序里的踪迹。)
解码
CPU根据存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据CPU的指令集架构(ISA)定义将数值解译为指令。一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法(Addition)运算的运算目标。
执行
在提取和解码阶段之后,紧接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。