【计算机组成原理】处理机管理

目录

一、处理机分类

1. MPU

2. MCU

3. DSP

二、CPU的功能

1. 指令控制

2. 操作控制

3. 时间控制

4. 数据加工

三、CPU的组成

(一)控制器

1. 控制器的功能

(1)控制指令执行的顺序

① 程序中规定的转移类型指令

② 中断处理

(2) 控制指令的具体执行

① 从存储器取出指令

② 分析和执行指令

2. 控制器的组成

(1)指令部件

  ① 程序计数器(PC)

  ② 指令寄存器(IR)

  ③ 指令译码器(ID)

(2)时序部件

  ① 脉冲源

  ② 启 / 停控制电路

  ③ 时序信号产生及其控制部件

(3)控制信号形成部件

(二)运算器

1. 算术逻辑单元(ALU)

2. 累加寄存器(AC)

3. 数据缓冲寄存器(DR)

4. 状态条件寄存器(PSWR)

四、CPU的内部总线结构

1. 单总线结构

2. 双总线结构

3. 三总线结构

五、指令系统

六、进程

1. 基本概念

2. 进程的状态

(1) 就绪状态

(2)运行状态

(3)阻塞状态

3. 状态描述

(1)就绪状态→运行状态

(2)运行状态→就绪状态

(3)运行状态→阻塞状态

(4)阻塞状态→就绪状态


        处理机包括 运算器 和 控制器 两部分。运算器 对数据进行 算术运算 和逻辑运算,控制器 是计算机的 指挥 和 控制中心。了解了处理机的 组成和 工作原理,也就 了解了 计算机的全部 工作过程。

一、处理机分类

        说到处理机,除了CPU (Central Process-ing Unit,中央处理器),还有MPU (Micro Processor Unit,微处理器单元)、MCU (MicroController Unit,微控制器单元) 和 DSP (Digital SignalProcessing/Processor,数字信号处理)。

        其中后 三种处理器主要 用于 嵌入式系统中。这里所说的 CPU 其实是一个 狭义的概念,一般是指 通用计算机中的处理器,它采用 冯.诺伊曼 结构,是 复杂指令集

1. MPU

        MPU 的基础是 CPU,主要应用在 嵌入式系统 中。将 MPU 装配在 专门设计的 电路板上,只保留和嵌入式 应用 有关的 母版功能,这样 可以 大幅度 减小系统体积 和 功耗。为了 满足嵌入式应用的 特殊要求,MPU 虽然在 功能上 和 CPU 基本是一样的,但在 工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

        和工业控制 计算机相比,MPU 具有体积小、重量轻、成本低、可靠性高 的优点,但是 在电路板上 必须 包括 ROM、RAM、总线接口、各种外设 等器件,从而降低了 系统的可靠性技术保密性 也较差。

        嵌入式 微处理器 及其存储器、总线、外设等安装在一块电路板上,称为单板计算机

2. MCU

        MCU 又称单片机,顾名思义,就是 将整个计算机系统 集成到 一块芯片中。MCU 一般 以某一种 微处理器内核为 核心,芯片内部 集成各种 必要功能 和 外设

        为 适应不同的 应用需求,一般一个系列的单片机 具有多种 衍生产品,每种 衍生产品 的处理器内核 都是一样的,不同的是 存储器 和外设的 配置 及 封装。这样可以 使单片机 最大限度地 和应用 需求相匹配,功能不多不少,从而减少功耗 和成本。

        MCU 和 MPU 相比,最大特点是 单片化体积 大大减小,从而使功耗和成本下降、可靠性提高。MCU 是 目前嵌入式系统 工业的 主流。MCU 的片上 外设资源一般 比较丰富,适合于控制,因此称为 微控制器

3. DSP

        DSP 处理器 对系统结构 和 指令进行了 特殊设计,使其 适合于执行 DSP算法编译效率 较高,指令 执行速度也较快

        随着 数字滤波、FFT、谱分析 等 方面的发展,DSP 算法正在大量进入嵌入式领域,DSP 应用正 从在通用单片机中 以普通指令实现 DSP 功能,过渡到 采用嵌入式 DSP 处理器。嵌入式 DSP 处理器有 两个发展来源一是 DSP 处理器经过单片化、EMC 改造、增加片上外设成为 嵌入式 DSP 处理器;二是 在 通用单片机或 SOC 中增加 DSP / 协处理器。

        推动 嵌入式 DSP 处理器发展的另一个因素是 嵌入式系统的 智能化。智能化算法 一般都是运算量较大,特别是 向量运算、指针线性寻址 等较多,而这些正是 DSP 处理器的长处所在。

二、CPU的功能

1. 指令控制

        程序是顺序 地执行指令,故称为 指令控制。由于程序是指令的顺序集合,其指令的 先后次序不能 任意颠倒,必须 严格地按规定的 顺序执行,因此,保证计算机 按顺序执行程序(指令)是CPU 的 首要任务。

2. 操作控制

        一条指令 的功能通常 是由 若干个操作信号组合 起来 实现的。执行指令 的微观过程 就是完成一个 相应的微操作 序列。这些 微操作的产生、组合、传送和管理,完全由 CPU 指挥 和 控制,从而 协调各个功能部件 按指令的 要求完成任务

3. 时间控制

        对各种 操作实施时间上的 控制,称为 时间控制。一方面,各种指令的 操作信号 均受到时问的严格控制;另一方面,一条指令的 执行过程也 受到时间的 严格控制。只有这样,计算机才能有条不紊地 自动工作。

4. 数据加工

        数据加工是指 计算机对数据 进行算术运算 和 逻辑运算,将 原始数据 加工处理 成最终结果,这是 CPU 的根本任务。

三、CPU的组成

(一)控制器

        程序 和 数据是事先 存放在存储器 中的,计算机 对信息的 加工处理是 通过执行程序 来实现的。计算机的工作过程 就是程序的 运行过程,也就是在 控制器的 控制下 逐条执行程序 中指令的过程。在程序运行中,控制器 对整个计算机 进行控制,使各 部件在规定的 时刻执行 相应的操作。

1. 控制器的功能

        控制器最基本的功能有 两个:一是 控制指令 执行的顺序;二是 控制每条指令的 具体执行。

(1)控制指令执行的顺序

        为了 控制指令的 执行顺序,CPU 中设置了 指令地址寄存器 PC(即程序计数器),用它来存放指令的地址。在 执行一条 指令的同时,必须形成 后续指令的地址,以便 程序能继续运行。

        在一般情况下,指令 是按顺序执行的,由 程序计数器 PC 决定后继指令的 地址,也就是说,PC 的内容 不断地加 一个固定步长。但是,当 执行的指令是 转移类型指令时,就要 改变指令执行的 原来顺序

        控制器 对指令 执行顺序的 控制实质 上是对 PC 的控制,也就是说,根据转移 类型指令的操作码 和 转移的条件 来决定 是否改变 PC 的内容。

        从程序运行的角度来看,PC内容的改变可以分为以下两大类

① 程序中规定的转移类型指令

        这需要 在程序 设计时 预先安排好 要改变 指令执行的 顺序。在多数情况下,转移前的 PC 内容 不需要保留,在 转子指令 或 过程调用指令 时需要保留转移前的 PC 内容,作为 程序的 返回地址。

② 中断处理

        即 在程序运行中 对于某些 突发事件的 紧急处理。当出现 来自系统外部 或 计算机内部 的任何异常 或 意外事件(如计算机出现故障、程序出现错误、外设请求、实时请求等)时,CPU 可以暂停 执行现行程序,转去 处理这些事件,在这里 需要改变 PC 的内容,而且要 保留 改变前的 PC 的内容,待处理 完后再 返回 继续执行 原被中断的 程序

(2) 控制指令的具体执行

        一条指令的执行主要分为以下两个阶段

① 从存储器取出指令

        根据 程序计数器 PC 的内容,向地址寄存器发出 地址 和 读指令 操作信号取出现行指令后,为了 正确执行该条 指令,将 取出的指令 存放在控制器 中专门设置 的指令寄存器 IR 中。

② 分析和执行指令

        分析指令 就是 把指令寄存器中 的现行指令 进行译码。首先分析其 操作码,为此需要 设置操作码译码器,通过 对操作码的分析,产生 相应的 控制电位,提供给 控制信号 形成部件;其次就是 确定参与操作的 数据地址,即分析寻址方式 和 形成操作数的 地址,并向存储器 发出 调用操作数的控制信号,从而 取得操作数;然后,根据指令的操作性质 和 CPU 的某些 状态特征,执行指令所 给定的操作。

        上述 的 两个功能都是 由控制器产生的 各种微操作(或微命令)来实现的微操作 信号是 构成控制信号序列的 最小单位,对于不同的 指令要求 不仅需要 确定 应该发出 哪些 微操作信号,而且 还必须 顾及到这些 微操作信号之间的 时间关系

2. 控制器的组成

(1)指令部件

        指令部件的作用是完成取指令并分析指令,它由3个部分构成。

  ① 程序计数器(PC)

        程序计数器 又称为 指令计数器 或 指令地址寄存器,用来 存放 当前执行指令的地址。每当 执行完一条指令 后,通常 由程序计数器提供 后继 指令地址,送往 地址寄存器(MAR)。由于 程序流程 有可能是 顺序执行、跳步、转移等 情况,因此 程序计数器应该 具有 计数功能和接收信息的功能。

        计数功能可以 由程序计数器 自身的 逻辑电路实现,也 可以 使用运算器 来完成。 

  ② 指令寄存器(IR)

        指令寄存器 用来 存放正在执行的指令

        为了 保证实现指令的 全部功能,该寄存器中 的内容 在执行指令的过程中 不允许 发生变化。 

  ③ 指令译码器(ID)

        指令译码器 对指令的操作码部分 进行 译码 或 分析解释,并产生 相应的 控制电位送 到 控制信号 形成部件。此外,它还 产生为 形成操作数地址 所需要的 控制信号。

(2)时序部件

        时序部件又称为 周期节拍发生部件,它 用来产生一定的 时序信号,以便 实现机器 指令执行过程中的 时序控制

        通常 把一个 指令周期 划分为 若干个 机器周期,进而分为 若干个 节拍,每个节拍 又分为 几个工作脉冲。机器周期、节拍、工作脉冲 的时间信号 便组成了 指令运行的 多级时序信号,它们 保证了计算机 各功能部件 有节奏地 进行 信息传送、加工处理 和 信息存储

  ① 脉冲源

        脉冲源 的功能是 产生一定的 脉冲信号,为整 个计算机 提供时钟,是 机器周期、节拍和工作脉冲的 基准信号。

  ② 启 / 停控制电路

        启 / 停控制电路的 作用是 根据计算机的 需要,能可靠地开放 或 封锁脉冲,控制时序信号 的发生 或 停止,实现 对整个计算机 的正确启动 或 停止。即 要求启动时 输出的 第一个脉冲 是完整的脉冲,停止时输出 的最后一个脉冲 也是完整的 脉冲。

  ③ 时序信号产生及其控制部件

        时序信号 产生 及 其控制部件是 以工作脉冲 为基准,产生 不同的计算机 所对应的 多级时序信号,用 以控制计算机的 每一步微操作

(3)控制信号形成部件

        微操作是计算机 中 不可再分割的 操作,它是 计算机中 最小的 操作信号,包括 时序部件 提供的 时序信号,以及 被控制的 功能部件反馈 的 状态条件信号 等由 控制信号形成 部件 组合成不同的 机器指令 所需要的 不同 微操作序列,从而 完成取指令 和 执行指令的控制。这是 控制器的核心部分。

(二)运算器

        运算器由 算术逻辑单元(ALU)、累加寄存器(AC)、数据缓冲寄存器(DR) 和状态条件寄存器(PSW) 组成,它是 数据加工处理 部件,完成 计算机的各种算术 和 逻辑运算

        相对 控制器而言,运算器 接受控制器的命令 而进行动作,即 运算器 所进行的 全部操作 都是由 控制器发出的 来指挥的,所以它 是执行部件。

运算器有两个主要功能:

    ① 执行所有的 算术运算,如加、减、乘、除等 基本运算 及 附加运算。

    ② 执行所有的 逻辑运算,并 进行 逻辑测试,如 与、或、非、零值测试 或 两个值的 比较等。

1. 算术逻辑单元(ALU)

        算术逻辑单元 是 运算器的 重要组成部件,负责 处理数据,实现 对数据 的 算术运算 和 逻辑运算

2. 累加寄存器(AC)

        累加寄存器 通常 简称为 累加器,它是一个通用寄存器。其功能是:当运算器的 算术逻辑单元 执行算术或逻辑运算 时,为 ALU 提供一个工作区

        例如,在执行 一个 减法运算 前,先 将被减数 取出暂放在 AC 中,再 从内存储器 中取出 减数,然后同 AC 的 内容相减,所得的 结果 送回 AC 中。运算的结果 是 放在累加器 中的,运算器 中 至少 要有 一个累加器

        目前 CPU 中的累加器,多达 16个、32个,甚至更多。当 使用 多个 累加器时,就变成通用寄存器 堆结构,其中 任何 一个 累加器 可存放 源操作数,也 可 存放 结果操作数。在这种 情况下,需要 在指令格式中 对寄存器号 加以编址

3. 数据缓冲寄存器(DR)

        在 CPU 中引脚 大多是 复用的,在 不同的时间 内,具 有不同的 功能。在 对 内存储器进行 读 / 写操作时,用数据缓冲寄存器来暂时存放由内存储器读/写的一条指令或一个数据字,将我们在不同的时间段内读/写的数据隔离开

        缓冲寄存器的 作用 具体有如下几点:作为 CPU 和 内存、外部设备之间 往返传送的 中转站;补偿 CPU 和 内存、外围设备之间 在 操作速度上的 差别在 单累加器结构 的 运算器中,数据缓冲 寄存器 还可兼 作为 操作数寄存器

4. 状态条件寄存器(PSWR)

        状态条件寄存器 保存 由算术指令 和 逻辑指令运行 或 测试的结果建立的 各种条件码 内容,大体包括 两种:一是 状态标志,如运算结果进位标志(C),运算结果溢出标志(V);二是 控制标志,如中断标志(I),方向标志(D)等。这些标志通常 分别由 1 位 触发器保存,保存了 当前指令执行 完成之后的 状态

        通常,一个 算术操作 产生一个 运算结果, 而一个逻辑操作则产生一个判决。

CPU的内部总线结构

        所谓内部总线 是指 连接 CPU、寄存器和运算器之间 的 一条 公共信息 传送线路,它能 分时地发送 和 接收 各部件的 信息。为此,内部总线 有发送端 和 接收端,各端分别 设有 若干个 发送接口 和 接收接口利用 发送接口 将信息代码 发送到 内部总线上;利用 接收接口 能从总线 上接收信息代码

        在 CPU内部 和 CPU 与 存储器 之间 均可以 设置总线。

1. 单总线结构

        这种结构的特点是 算术逻辑单元 ALU 和 所有寄存器 通过 单一的公共总线 连接起来,这叫做 单总线结构。这条总线是 CPU 内部的,不要和外部总线混淆。 】

        外部总线是 连接 CPU 和 存储器、I/O设备 的总线。通过 地址寄存器 MAR 和数据寄存器MDR 与 CPU 连接。在 单总线结构中,CPU 内部的 任何两个部件之间 的数据传送 都必须 经过这条总线,因此,控制 比较简单,但数据传送 速度 受到限制,在 一些小型计算机 或 微型计算机 中常采用这种结构。

2. 双总线结构

        可以将 ALU 与 各寄存器直接挂接到 两条总线 上。在这种结构中 所有寄存器 的输出端 都连接到 总线 A,寄存器的 输入端都 连接到 总线 B,这两条总线通过 总线连接器 G 相连接。

        总线连接器 G 只能 单向传送数据:当 G 被连通时,就把 总线 A 的数据传送到 总线 B ;当 G 关闭时,两条总线 则 互相隔离。

        注:在这种结构 中,不需要暂存器 Z,这是因为可以控制 总线连接器 G,使之关闭,ALU 的 输出就可以直接送到 目的 寄存器。

3. 三总线结构

        其特点是  ALU 的两个输入端 与 两条输入 总线 分别相连,其输出 连接到 另一条 输出总线。每一条总线 只有 一个输入 和 多个输出,由于 同一条总线 只有一个 输入,就 可以提高总线 传送速度,并且 简化了控制。

        这 3 条总线 分别是 输入数据总线、寄存器数据总线 和 ALU 输出总线

五、指令系统

        计算机的工作过程 就是 执行程序的 过程,而程序 是一组机器 指令的 有序集合机器指令(以下简称为指令)就是 计算机执行 某种操作的命令。每一条指令 规定计算机 完成一定的 功能,它是 程序人员 和 计算机会话的 最小单位。通常 机器语言 是 由一系列的指令(语句)组成的,其 语法就是 指令的 格式,这是 计算机硬件 能直接理解 并执行的 语言。

        一台计算机 所能 执行的 全部指令 称为 该机器 的指令系统,它 表明 计算机 硬件实体 的实际功能。指令系统 应根据 计算机的 使用要求 来设计,它 不仅直接 影响到 计算机的 硬件结构,而且 也直接影响到 系统软件 和 应用软件,它是 计算机系统的 硬件部分和软件部分 的重要基础 之一。可以 说指令系 统是 了解或 设计一台计算机的 基本出发点。

六、进程

1. 基本概念

        操作系统的 重要特征是 并发和共享。 为了 提高计算机系统 的 效率 和 增强计算机系统 内各种硬件 的 并行 操作能力操作系统要求 程序结构适应 并发处理的 需要,即 在计算机系统 中能同时存在 两个以上 正在执行的程序, 即 两个以上的 程序都处于 已经开始 但未结束的 执行状态。

        传统的程序设计 方法所涉及的 程序概念 和 顺序程序的结构 已不适应于 操作系统 的需要。因为程序 的概念 不能体现 并发这个动态 的含义,顺序程序 的结构 也不具备 并发处理 的能力。因此,为了 描述 操作系统 的并发性,人们 引入了一个新的概念——进程。进程 是设计 和分析操作系统 的有力工具,只有 以进程 的观点去 分析操作系统,才能 理解 操作系统 是怎样 进行管理和控制的。

2. 进程的状态

        在 进程的 运行过程中,由于系统中 多个进程的并发运行 及 相互制约的 结果,使得 进程的状态 不断发生变化。

(1) 就绪状态

        进程 已获得了 除处理机 以外的所有资源,一旦 获得处理机就 可以立即执行,此时 进程所处的状态为 就绪状态。在 系统中 处于 就绪状态的 进程一般 有多个,通常 把这些进程 排成 一个队列 组织起来,队列 的排列 次序一般 按照 进程 优先级的 大小来排序

(2)运行状态

        当 一个 进程获得 必要的 资源 并正在处理机 上执行时,该 进程所处的 状态 即为 运行状态。在 单处理机的系统中,只有 一个进程 处于运行状态。在 多处理机的 系统中,则 可能有 多个进程处于 运行状态,但处于 运行状态的 进程数 一定小于 或 等于 处理机 的个数

(3)阻塞状态

        阻塞状态 又称 等待状态。正在 执行的进程,由于 发生 某事件而无法 往下 继续执行(如等待输入 / 输出完成),此时进程 所处的 状态为 阻塞状态。当 进程 处于阻塞状态 时,即使 把处理机 分配给该进程,它 也无法运行所以 阻塞进程 不能 参加竞争 处理机。一般情况下,系统根据进程 等待事件 的原因不同,将 进程排列成 多个等待队列。

        进程 并非 固定 处于某一个 状态,其 状态 会随着 自身的 推进 和 外界条件 的变化 而发生改变

3. 状态描述

(1)就绪状态→运行状态

        处于 就绪状态 的进程,它 已 具备了 运行的 条件,但 由于 未能获得 处理机,故仍 然不能运行。对于 单处理机系统 而言,处于 就绪状态 的进程 往往 不止一个,同一时刻 只能 有一个就绪进程获得 处理机。

        进程 调度 程序根据 调度算法(如优先级或时间片规定)把 处理机分配给 某个就绪进程,就建立该 进程运行状 态标记,并把 控制转到该 进程,把 它由就绪状态 变为 运行状态,这样 进程就 投入运行

(2)运行状态→就绪状态

        这种 状态变化 通常出现在 分时操作系统 中,正在运行的进程由于 规定的 运行时间片 用完而 使系统发出 超时中断请求,超时 中断处理程 序把该进程的 状态修改为 就绪状态,根据其自身的特征而 插入到 就绪队列的 适当位置,保存 进程 现场信息,收回 处理机 并转入 进程调度程序。于是,正在运行的 进程就 由 运行状态变为 就绪状态

(3)运行状态→阻塞状态

        处于 运行状态的 进程 能否 继续运行,除了 受 时间限制 外,还受其他 种种 因素的影响。例如运行中的 进程 需要等待 文件的输入(或其他进程同步操作的影响)时,控制 便自动转入 系统控制程序,通过 信息管理程序 及 设备管理程序 进行文件输入。在 输入过程中 这个进程 并不恢复到 运行状态,而是 由运行 状态 变成 阻塞状态(同时标记阻塞原因,并保留当前进程现场信息),然后 控制转入 进程 调度程序进程 调度程序 根据调度算法 把处理机 分配 给其他 已处于就绪状态的进程

(4)阻塞状态→就绪状态

        被阻塞的进程 在 其被阻塞的 原因获得解除 后,并不能立即 投入运行,因为,也许 还有其他进程在 等待处理机,于是 将其状态 由阻塞 变成就绪,以等待处理机,仅当 进程调度程序把 处理机再次 分配给它时,才可恢复当时 阻塞前的 现场 继续运行。


 


                                后期学习再进行补充。

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值