你清楚CPU了没有?

中央处理器(CPU)

操作系统作为一个程序要在处理器上执行。如果一个计算机系统只有一个处理器,我们称之为单机系统,如果有多个处理器则称之为多处理器系统。

1.1 CPU的构成与基本工作方式

一般的处理器由运算器、控制器、一系列寄存器以及高速缓存构成。运算器实现任何指令中的算术和逻辑运算,是计算机计算的核心;控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等;寄存器是指令在CPU内部做处理的过程中暂存数据、地址以及指令信息的存储设备,在计算机的存储系统中它具有最快的访问速度;高速缓存处于CPU和物理内存之间,一般由控制中的内存管理单元(Memory Management Unit,MMU)管理,它的访问速度快于内存,慢于寄存器,它利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而大大地提高了CPU的效率。

1.2 特权指令和非特权指令

对于一个单用户、单任务方式下使用的微型计算机,普通的非系统拥护通常都可使用该计算机指令系统中的全部指令。但是如果某微型计算机是用于多用户或多任务的多道程序设计环境中,则它的指令系统中的指令必须区分成两部分:特权指令和非特权。

所谓特权指令是指令系统中那些只能由操作系统使用的指令,这些指令是不允许一般的用户使用的,因为如果允许用户随便使用这些指令,就有可能是系统陷入混乱。所有一个使用多道程序设计的微型计算机的指令系统必须要区分特权指令和非特权指令。

用户只能使用非特权指令,因为只有操作系统才能使用所有的指令(包括特权指令和非特权指令)。如果一个用户程序使用了特权指令,一般将引起一次处理状态的切换,这时处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态,然后将处理移交给操作系统中的一段特殊代码,这一过程形象地称为陷入。

1.3处理的状态

内核与用户态

        处理器有时执行用户程序,有时执行操作系统的程序。在执行不同的程序时根据运行的程序对资源和机器指令的使用权限而将此时的处理器设置为不同状态。多数系统将处理器工作状态划分为系统态和用户态。前者一般指操作系统管理程序运行的状态,具有较高的特权级别,又称特权态、管态;后者一般指用户程序运行时的状态,具有较低的特权级别,又称为普通态、目态。另外,还有些系统将处理器工作状态划分为多个系统状态,例如核心状态、管理状态和程序状态三种,他们的具体含义与前面的双状态分级大同小异。

        当处理器处于管态时全部指令可以执行,可使用所有资源,并具有改变处理器状态的能力。当处理器处于目态时,就只有非特权指令能执行。不同处理器状态之间的区别就在于赋予运行程序的特权级别不同,可以运行的指令集合也不相同。一般来说,特权指级别越高,可以运行的指令集合就越大,而且高特权级别对应的可运行指令集合包含低特权级的。

        

猜你喜欢

转载自blog.csdn.net/m0_58353740/article/details/122290669