前言
小白记录学习日常,多多指点
一、线程,进程的理解。
进程
以一个C语言程序为例。
#include <stdio.h>
int main()
{
int a;
1+1;
}
这个C语言程序的执行便叫做一个进程。
线程
假设只有一个CPU,那么在这个CPU的运行过程中,为a开辟存储空间。和计算1+1便是两个线程
多进程,超线程,指令级并行。
多进程
多个程序被允许运行在多个cpu上叫多进程。
超线程
在一个CPU中,同时运行多个线程,即同时进行1+1和为a开辟存储空间,叫超线程。
原理:通过把一个CPU中的大部分部件(如:PC,寄存器,以及整数计算)等元件,复制在这个CPU内,使得CPU中拥有两个或多个逻辑核心(进行指令运行的单元),从而使得一些不相关的指令可以在这两个逻辑核心内同时进行操作(对于不相关的判定是通过算法进行辨析的.)(同时,有些元件是无法复制的,例如:浮点数运算单元.)
指令级并行
在一个逻辑核心中进行多条指令。
在一个逻辑核心中,通过更加复杂的算法,推理出这个指令和下一条指令需要用到逻辑核心中的哪些部件,从而来在一个逻辑核心中运行多条指令。
总结
后文的三个技术是用于提高CPU运行速度的主要技术。