建设网站知乎,网站定位与功能分析,企业网站托管收费标准,wordpress 如何添加备案号一、分诺依曼计算机模型 现代计算机模型是基于-冯诺依曼计算机模型#xff0c;计算机在运行时#xff0c;先从内存中取出第一条指令#xff0c;通过控制器的译码#xff0c;按指令的要求#xff0c;从存储器中取出数据进行指定的运算和逻辑操作等加工#xff0c;然后再按…一、分诺依曼计算机模型 现代计算机模型是基于-冯诺依曼计算机模型计算机在运行时先从内存中取出第一条指令通过控制器的译码按指令的要求从存储器中取出数据进行指定的运算和逻辑操作等加工然后再按地址把结果送到内存中去。接下来再取出第二条指令在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。 程序与数据一样存贮按程序编排的顺序一步一步地取出指令自动地完成指令规定的操作是计算机最基本的工作模型。这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的故称为冯.诺依曼计算机模型。
二、计算机组成的五大核心部分
控制器(Control)是整个计算机的中枢神经其功能是对程序规定的控制信息进行解释根据其要求进行控制调度程序、数据、地址协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath)运算器的功能是对数据进行各种算术运算和逻辑运算即对数据进行加工处理。 存储器(Memory)存储器的功能是存储程序、数据和各种信号、命令等信息并在需要时提供这些信息。 输入(Input system)输入设备是计算机的重要组成部分输入设备与输出设备合你为外部设备简称外设输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。 输出(Output system)输出设备与输入设备同样是计算机的重要组成部分它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。 分诺依曼计算机模型 上面的模型是一个理论的抽象简化模型它的具体应用就是现代计算机当中的硬件结构设计 三、CPU指令结构 CPU内部结构主要分为控制单元、运算单元、数据单元 3.1 控制单元 控制单元是整个CPU的指挥控制中心由指令寄存器IRInstruction Register、指令译码器IDInstruction Decoder和 操作控制器OCOperation Controller 等组成对协调整个电脑有序工作极为重要。它根据用户预先编好的程序依次从存储器中取出各条指令放在指令寄存器IR中通过指令译码分析确定应该进行什么操作然后通过操作控制器OC按确定的时序向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。 3.2 运算单元 运算单元是运算器的核心。可以执行算术运算包括加减乘数等基本运算及其附加运算和逻辑运算包括移位、逻辑测试或两个值比较。相对控制单元而言运算器接受控制单元的命令而进行动作即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的所以它是执行部件。
3.3 数据单元 存储单元包括 CPU 片内缓存Cache和寄存器组是 CPU 中暂时存放数据的地方里面保存着那些等待处理的数据或已经处理过的数据CPU 访问寄存器所用的时间要比访问内存的时间短。 寄存器是CPU内部的元件寄存器拥有非常高的读写速度所以在寄存器之间的数据传送非常快。采用寄存器可以减少 CPU 访问内存的次数从而提高了 CPU 的工作速度。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的分别寄存相应的数据而通用寄存器用途广泛并可由程序员规定其用途。
四、CPU缓存结构 现代CPU为了提升执行效率减少CPU与内存的交互(交互影响CPU效率)一般在CPU上集成了多级缓存架构常见的为三级缓存结构
L1 Cache分为数据缓存和指令缓存逻辑核独占L2 Cache物理核独占逻辑核共享L3 Cache所有物理核共享 存储器存储空间大小内存L3L2L1寄存器 存储器速度快慢排序寄存器L1L2L3内存 还有一点值得注意的是缓存是由最小的存储区块-缓存行(cacheline)组成缓存行大小通常为64byte。比如你的L1缓存大小是512kb,而cacheline 64byte,那么就是L1里有512 * 1024/64个cacheline
4.1CPU读取存储器数据过程 CPU要取寄存器X的值只需要一步直接读取。 CPU要取L1 cache的某个值需要1-3步或者更多把cache行锁住把某个数据拿来解锁如果没锁住就慢了。 CPU要取L2 cache的某个值先要到L1 cache里取L1当中不存在在L2里L2开始加锁加锁以后把L2里的数据复制到L1再执行读L1的过程上面的3步再解锁。 CPU取L3 cache的也是一样只不过先由L3复制到L2从L2复制到L1从L1到CPU。 CPU取内存则最复杂通知内存控制器占用总线带宽通知内存加锁发起内存读请求等待回应回应数据保存到L3如果没有就到L2再从L3/2到L1再从L1到CPU之后解除总线锁定。
五、内存管理 5.1执行空间保护 操作系统有用户空间和内核空间两个概念目的也是为了做到程序运行安全隔离与稳定以32位操作系统4G大小的内存空间为例。 Linux为内核代码和数据结构预留了几个页框这些页永远不会被转出到磁盘上。从 0x00000000 到 0xC0000000PAGE_OFFSET 的线性地址可由用户代码 和 内核代码进行引用即用户空间。从0xC0000000PAGE_OFFSET到 0xFFFFFFFFF的线性地址只能由内核代码进行访问即内核空间。内核代码及其数据结构都必须位于这 1 GB的地址空间中但是对于此地址空间而言更大的消费者是物理地址的虚拟映射。 这意味着在 4 GB 的内存空间中只有 3 GB 可以用于用户应用程序。进程与线程只能运行在用户方式usermode或内核方式kernelmode下。用户程序运行在用户方式下而系统调用运行在内核方式下。在这两种方式下所用的堆栈不一样用户方式下用的是一般的堆栈(用户空间的堆栈)而内核方式下用的是固定大小的堆栈内核空间的对战一般为一个内存页的大小即每个进程与线程其实有两个堆栈分别运行与用户态与内核态。
5.2 内核线程模型 内核线程(KLT)系统内核管理线程(KLT),内核保存线程的状态和上下文信息线程阻塞不会引起进程阻塞。在多处理器系统上多线程在多处理器上并行运行。线程的创建、调度和管理由内核完成效率比ULT要慢比进程操作快。 5.3用户线程模型 用户线程(ULT)用户程序实现,不依赖操作系统核心,应用提供创建、同步、调度和管理线程的函数来控制用户线程。不需要用户态/内核态切换速度快。内核对ULT无感知线程阻塞则进程包括它的所有线程阻塞。 5.4 进程与线程 进程现代操作系统在运行一个程序时会为其创建一个进程例如启动一个Java程序操作系统就会创建一个Java进程。进程是OS(操作系统)资源分配的最小单位。 线程线程是OS(操作系统)调度CPU的最小单元也叫轻量级进程Light Weight Process在一个进程里可以创建多个线程这些线程都拥有各自的计数器、堆栈和局部变量等属性并且能够访问共享的内存变量。CPU在这些线程上高速切换让使用者感觉到这些线程在同时执行即并发的概念相似的概念还有并行