一、处理器的构成与基本工作方式
处理器一般由运算器、控制器和一系列寄存器以及高速缓存构成。
运算器实现算数与逻辑运算。
控制器控制程序运行流程。
寄存器用于处理器执行指令的过程中暂存数据、地址及指令信息。
高速缓存:为CPU和内存提供一个高速的数据缓存区域。
1.处理器中的寄存器
两类寄存器:
(1)用户可见寄存器,由编译程序分配,减少程序运行时方位内存的次数。
一般包括数据寄存器,地址寄存器、条件码寄存器。
(2)控制和状态寄存器,用来控制处理器的操作
常见的寄存器是程序计数器(PC)、指令寄存器(IR)、程序状态字(PSW)。
2.指令执行的基本过程
最简单的是两个步骤:
(1)读取指令,并将程序计数器的值变成下一条指令的地址。
(2)指令放入指令寄存器中,处理器解释并执行该指令。
指令的分类:
访问存储器指令、I/O指令、算数逻辑指令、控制转移指令、控制器控制指令。
二、特权指令和非特权指令
在多道程序环境下,指令分为特权指令和非特权指令。
1.特权指令:
在操作系统中那些只能由操作系统使用的指令。
不允许一般用户使用。
比如:设置程序状态字、启动某设备、设置中断屏蔽字等。
2.非特权指令:
普通用户使用的指令
三、处理器的工作状态
1.管态和目态
管态:操作系统管理程序运行时的状态,又称内核态、系统态等,具有较高特权。
目态:一般用户程序运行时的状态,又称用户态、普通态,具有较低特权。
2.处理器工作状态的转换
目态到管态的转换:唯一途径是通过中断。中断响应时交换中断向量,新的中断向量的PSW的处理器状态标志管态。
管态到目态的转换:可通过设置PSW指令,实现从操作系统到用户程序的转换。
3.限制用户程序执行特权指令
当用户程序执行时,如果取到了一条特权指令,则处理器拒绝执行该指令,并形成一个“非法操作”事件。然后操作系统通知用户程序--程序中有非法指令。
四、程序状态字
为了解决处理器当前工作状态的问题,所有的处理器都有一些特殊寄存器,用以表明处理器当前的工作状态。用来指示处理器状态的寄存器,称为程序状态字。
比如CF:进位标志、ZF、结果为零标志等。
程序状态字一般包括:
CPU的工作状态代码:指明当前的工作状态是管态还是目态。
条件码:反映指令执行后的结果特征,比如结果为0等。
中断屏蔽码:指出是否允许中断。
五、存储系统
1.存储器的类型
(1)类型
读写型存储器(RAM),用来存储随机存取的程序和数据
只读存储器(ROM),存放一些固化的程序
(2)存储器的类型
存储的最小单位:位(bit)
最小编制单位:字节
分块:为了分配和管理方便,将内存划分为大小相等的块(物理页Page),以块为单位分配内存空间,大小一般为512B、1KB、4KB、8KB等
2.存储器的层次结构
(1)容量、速度和成本的匹配
(2)存储访问局部性原理
程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下是顺序执行的。
过程调用将会使程序的执行轨迹,由一部分区域转至另一部分区域。即程序将会在一段时间内,都局限在这些过程的范围内运行。
程序中存在许多循环结构,这些虽然只由少数指令构成,但是它们将多次执行。
程序中还包括许多对数据结构的处理,如对数组进行操作,它们往往都局限于很小的范围内。
基于这一原理,设计多级存储的体系结构。
3.存储器保护
多道程序设计系统中,保证每个程序独立运行、互不干扰,称为存储器保护。
方法:界地址寄存器
六、I/O部件
1.I/O结构
2.通道
3.DMA技术
D.缓冲技术
七、时钟部件
功能:
(1)发现死循环,防止机时的浪费
(2)分时系统中,时钟间隔实现时间片轮转执行
(3)实时系统中,按要求的时间间隔控制设备
(4)定时唤醒各个外部事件
(5)记录各种设备的使用时间和某外部事件的时间间隔
(6)记录用户和系统所需的绝对时间,即年、月、日
分类:
硬件时钟和软件时钟
用途分:绝对时钟和相对时钟
八、中断与异常的概念
1.中断与异常
中断:指处理器对系统中或系统外发生的异步事件的响应。
异步事件:指无一定时序关系的随机发生的事件,如外部设备完成了数据传输任务,某一实时控制设备出现异常情况等。
中断源:引起中断的事件称为中断事件或中断源。
中断请求:中断源向处理器发出的请求信号。
中断处理程序:处理中断事件的程序
断点:发生中断时正在执行的程序的暂停点。
中断响应:处理器暂停当前程序转而处理中断的过程。
中断返回:中断处理程序接受恢复原来程序的执行。
中断向量表:为了使得中断装置可以找到恰当的中断处理程序,专门设计了中断处理程序的入口地址映射表,又称中断向量表。
异常:由正在执行的指令引发的中断。
2.中断与异常的分类
典型的中断:时钟中断、输入输出中断、控制台中断、硬件故障中断。
典型的异常:程序性中断,访管指令异常。
九、中断系统
1.中断请求的接收
中断系统如何接受中断源的中断请求,因机器而异。一般由中断逻辑线路和中断寄存器实现。
2.中断响应
处理器的控制部件中有中断信号扫描结构,它在每条指令执行周期内的最后时刻扫描中断寄存器,查看是否有中断信号到来。若无中断信号,处理器接收由硬件中断装置发来的中断向量代号,准备中断处理准备工作
中断请求响应过程:
处理器接收中断信号;;
保护现场;
分析中断向量;
将处理器的PC值置为中断程序的入口地址;
调用中断处理程序。
3.中断处理
中断信号被接收和响应之后,进行中断处理,包括:检查I/O相关的状态信息,操纵I/O设备或者在设备和内存之间传送数据等。
中断处理结束后,中断返回,恢复系统上下文,原有程序继续运行。处理器状态也从管态恢复成目态。
整个中断信号的接收、响应和处理过程,可归纳为以下步骤:
(1)接收和响应中断
(2)保护中断断点现场
(3)分析中断向量,调用中断处理程序
(4)中断处理结束恢复现场,原有程序继续执行
4.几种典型中断的处理
(1)I/O中断
(2)时钟中断
(3)硬件故障中断
(4)程序性中断
(5)系统服务请求
十、中断优先级、中断屏蔽与中断嵌套
1.多级中断与中断优先级
作用:
(1)对各类中断信号依据其紧急程序和重要性划分级别,系统优先处理最紧急或最重要的任务。
(2)解决如果有多个中断信号同时到达,如何选择首个被处理的中断信号的问题。
2.中断屏蔽
整个中断系统中,允许或者静止中断系统对某些类别中断的响应。PSW中设计有中断屏蔽位。
比如:某个I/O被中断屏蔽,意味着即使有I/O中断信号,处理器也不予响应。
注意:有些信号是不能被屏蔽的,一般这类中断信号属于机器故障中断,比如掉电,机器无法继续操作。一旦发生,无论信号是否被屏蔽,处理器都会立即响应,并进行处理。
3.中断嵌套
一般的计算机系统都有多个中断源,如果一个中断处理的过程中又发生了中断,有两种策略处理:
(1)当处理一个中断时禁止其他中断
(2)中断嵌套。即中断按照优先级划分,允许优先级高的中断优先级低的中断处理过程,优先进行处理。
十一、系统调用介绍
系统调用概念:
就是用户在程序中调用操作系统提供的一些子功能,是操作系统提供给编程人员的唯一接口。
是一种特殊的过程调用,由特殊的机器指令实现,这条指令将系统转入管态。
1.系统调用与函数调用的区别
(1)运行在不同状态
(2)状态的转换
(3)返回问题
(4)嵌套调用
2.系统调用的分类
(1)进程控制类
(2)文件操作类
(3)进程通信类
(4)设备管理类
(5)信息维护类
3.系统调用与库函数、API、内核函数的关系
略
十二、系统调用的处理过程
陷入(trap):
在系统中为控制系统调用服务的机构称为陷入或异常处理机构。
陷入或异常指令(访管指令):
把由于系统调用引起处理器中断的指令称为陷入或异常指令(或称访管指令)。
处理过程
略