其他分享
首页 > 其他分享> > 计算机底层原理理解(一)

计算机底层原理理解(一)

作者:互联网

一些基本定义理解

  cpu控制集合计算器  硬盘  内存程序未运行时在硬盘 双击程序(操作系统找到该程序.exe文件(load到内存))

  程序的本质是一个可执行文件,点击执行就会到内存里面,该文件一旦进入内存即转变为进程,一旦成为进程,和该程序运行相关的资源就会分配好(网络资源内存资源等),转变为进程只分配了资源但是还没有跑起来,如何跑起来呢?

  操作系统找到进程中要执行的第一句代码(也就是主线程里的第一句话),(main方法 程序入口),找到后将后续指令和数据逐条传给cpu,cpu经过计算好的中间的结果再写回到内存,一条指令执行完再执行下一条, 循环往复,直到程序结束为止

  进程是程序分配资源的基本单位, 是一个静态概念,进程放到内存里面,找到主线程该程序开始执行

  线程是程序开始执行了,找到代码开始的地方,这是主线程, 这时cpu开始执行了是一个动态概念  

  C P U是从内存里面,把程序语句指令数据读过来,做运算写回去

  cpu中有两个用来存储东西的地方,一个是pcn(program counter)程序计数器,用来存指令,第二个是寄存器(registers),用来存数据

  现在的程序一般都是多线程,那如果当一个程序运行到一定的程度,然后突然需要转换另一个程序来运行,则需要将刚刚运行的程序运行的数据和进度记录下来,此时就需要通过寄存器来存储,等到再轮到这个程序运行时,就从刚刚中断的地方开始重新运行,而不会重头运行, 这个过程也叫线程切换

  一颗C P U在同一个时间点上,只能有一个程序(线程)在运行, 对于单个程序来说,如果进行多线程运行的话,该程序其实是运行时间加长了,因为还需要加上切换进程的时间

  ALU是cpu中用来做计算的单元

  比较 CPU和内存的运行速度,比较的是C P U中的A L U和内存的速度

  大概是C P U :内存等于100:1

 

 

 

 

 

 多颗cpu共享一块内存,一颗cpu内含多核

  内存中有语句或者数据需要放入cpu进行计算,首先由寄存器从L1到L3寻找,若都没有,则从内存中取,取到后存储在“三核”中,下次再需取该值则直接从“核”中取,这就是缓存的用法。

  缓存行是缓存用来管理数据的最基本单位(目前64bytes最佳)

  缓存一致性问题!

  

标签:计算机,程序运行,程序,内存,进程,原理,cpu,运行,底层
来源: https://www.cnblogs.com/-sefd/p/16441307.html