计算机组成原理---第五章中央处理器

news2024/11/18 8:12:41

(一)CPU 的功能和组成

 

  1. CPU 的功能

   Ⅰ 概述:当程序指令装入内存储器后,CPU 用来自动完成取指令和执行指令的任务。

   Ⅱ  CPU 的功能:①指令控制 ②操作控制 ③时间控制  ④数据加工

 

 

      2.CPU 的基本组成

 

CPU 的基本部分为运算器、cache、控制器三大部分。 其中控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,运算器由算术逻辑单元(ALU)、通用寄存器、数据缓冲寄存器 DR 和状态条件寄存器 PSW 组成。

 

 

 

 

3.CPU 中的主要寄存器

         CPU 中至少要有六类寄存器,如图 5-1 所示。这些寄存器用来暂存一个计算机字,根据需要,可以扩充其数目。

⑴数据缓冲寄存器(DR)

         数据缓冲寄存器用来暂存算数逻辑单元(ALU)的运算结果,或由数据存储器读出的数据字,或来自外部接口的数据字。

缓冲寄存器的作用是:

①作为 ALU 运算结果和通用寄存器之间信息传送中时间上的缓冲;

②补偿 CPU 和内存、外围设备之间在操作速度上的差别。

⑵指令寄存器(IR)

        指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从指令 cache 存储器(简称指存) 中读出,然后再传送至指令寄存器。

⑶   程序计数器(PC)

    程序计数器用来确定下一条指令的地址,程序若是顺序执行的,则对 PC 加 1;若遇到转移指令,后继指令的地址(即 PC 的内容)必须从指令寄存器中的地址字段取得。

⑷ 数据地址寄存器(AR)

     数据地址寄存器(AR)用来保存当前 CPU 所访问的数据 cache 存储器单元(简称数存)中的地址。由于要对存储器阵列进行地址译码,故必须使用地址寄存器来保持地址信息,直到一次读/写操作完成为止。

 ⑸通用寄存器

       在 CPU 模型中,通用寄存器是当 ALU 执行算术或逻辑运算时,为 ALU 提供一个工作区。目前 CPU 的通用寄存器数量很多,需要在指令格式中对寄存器号加以编址。

⑹状态字寄存器(PSW)

       状态字寄存器(PSW)保存由算术指令和逻辑指令运算或测试结果建立的各种条件代码,如运算结果进位标志(C),溢出标志(V),零标志(Z),负标志(N)以及中断和系统工作状态等信息。

4.操作控制器与时序产生器

⑴ 操作控制器

       操作控制器根据指令操作码和时序信号,产生各种操作控制信号,以便正确地选择数据通路,把有关数据打入到一个寄存器,从而完成取指令和执行指令的控制。根据设计方法不同,操作控制器可分为时序逻辑型和存储逻辑型两种:

①硬布线控制器

硬布线控制器采用时序逻辑技术实现;

②微程序控制器

微程序控制器采用存储逻辑技术实现。

⑵ 时序产生器

       操作控制器产生的控制信号必须定时,为此必须有时序产生器。时序产生器的作用,就是对各种操作信号实施时间上的控制。

 

二、指令周期

 

  1. 指令周期的基本概念

 ⑴ 指令周期的概念

        指令周期是指取出一条指令并执行这条指令所花的时间。采用定长 CPU 周期的指令周期示意 所示,其中 T 周期称为节拍脉冲。

 ⑵ 单周期、多周期

      单周期,就是在一个 CPU 周期中完成取指和执行操作(少数指令可实现)。大多数指令需要在多个 CPU 周期中完成指令周期的全部操作。

 

2.MOV 指令的指令周期

   ⑴ MOV 指令的指令周期

MOV 是一条 RR 型指令,其指令周期如图 5-3 所示。 

 ⑵  MOV 指令周期的过程

设 MOV 指令操作为 MOV R0,R1,则其取指周期及执行周期流程如图 5-4 所示。

3.LAD 指令的指令周期

⑴ LAD 指令的指令周期

      LAD 是一条 RS 型指令,其指令周期如图 5-5 所示,数据总线 DBUS 上分时进行了地址传送和数据传送,所以需要 2 个 CPU 周期。

 ⑵ LAD 指令周期的过程

设 LAD 指令为 LAD R1,6,则取指周期和 MOV 相同,其执行周期流程如图 5-6 所示。

 

4.ADD 指令的指令周期

     ADD 指令是RR 型指令,在运算器中用两个寄存器 R1 和 R2 的数据进行加法运算。整个指令周期为两个 CPU周期。取指周期过程和 MOV 相同,设 ADD 指令为 ADD R1,R2,执行周期流程如图 5-7 所示。

 5.STO 指令的指令周期

     STO 指令是 RS 型指令,一次访问指存,一次访问数存,故指令周期需 3 个 CPU 周期,其中执行周期为 2个 CPU 周期,其取指周期流程和 MOV 相同,设 STO 指令为 STO R2,R(3),则执行周期流程如图 5-8 所示。

   

 

 6.JMP 指令的指令周期

       JMP 指令是一条无条件转移指令,用来改变程序的执行顺序。指令周期为两个 CPU 周期,其中取指周期流程与 MOV 相同,设 JMP 指令为 JMP 101,则其执行周期流程如图 5-9 所示。

 

 

7.用方框图语言表示指令周期

         一个方框代表一个 CPU 周期,除了方框以外,还需要一个菱形符号,用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的 CPU 周期,而不单独占用一个 CPU 周期。

上述五条经典指令的方框图语言表示如图 5-10 所示。

 

 

三、时序产生器和控制方式

  1. 时序信号的作用和体制

 ⑴时序信号的作用

计算机能够准确、迅速、有条不紊地工作,正是因为在 CPU 中有一个时序信号产生器。

⑵时序信号的基本体制

①电位-脉冲体制

②主状态-节拍电位-节拍脉冲体制

硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。

③电位-节拍体制

在微程序控制器中,时序信号比较简单,一般采用节拍电位-节拍脉冲二级体制。

2.时序信号产生器

       微程序控制器的结构图如图 5-11 所示,其时序信号产生器相对简单,但各类时序信号产生器的基本结构都是相似的。

  ⑴时钟源

       时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号,通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成。

⑵环形脉冲发生器

      环形脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲。为了在节拍脉冲上不带干扰毛刺,环形脉冲发生器通常采用循环移位寄存器形式。

⑶节拍脉冲和存储器读/写时序

     通过环形脉冲发生器产生的输出(C1、C2、C3、C4)经过译码组合后,形成具有先后关系的四个等间隔的节拍脉冲(T1、T2、T3、T4);读/写控制信号与环形脉冲发生器产生的输出译码组合产生读/写时序。节拍电位由时序产生器本身产生,通常为一个 CPU 周期的时间。

⑷启停控制逻辑

      通过启停控制逻辑禁止和允许时序产生器向 CPU 发出工作所需的节拍脉冲和读/写时序。节拍电位与节拍脉冲图如图 5-12 所示。

 

 

3.控制方式

控制不同操作序列时序信号的方法,称为控制器的控制方式。

⑴同步控制方式

①采用完全统一的机器周期执行各种不同的指令

②采用不定长机器周期

③中央控制与局部控制结合

⑵异步控制方式

异步控制方式的特点是:每条指令或操作控制信号需要多少时间就占用多少时间。

⑶联合控制方式

联合控制方式为同步控制和异步控制相结合的方式。

 

四、微程序控制器

  1. 微程序控制原理

   

   ⑴概述

  在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术。

⑵微命令和微操作

       一台数字计算机基本上可以划分为两大部分——控制部件和执行部件。控制器是控制部件,而运算器、存储器、外围设备相对控制器来讲,是执行部件。

①微命令与微操作的联系

控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令称为微命令,而执行部件接受微命令后所进行的操作称为微操作。

②运算器的工作过程

一个简单运算器模型如图 5-13 所示。其中 4、6、8 是互斥的,5、7、9 是互斥的,而 1、2、3 是相容的,通过控制 1~9 来控制数据的流动。

 

⑶微指令和微程序

     一个 CPU 周期中,一组实现一定操作功能的微命令的组合,构成一条微指令,许多条微指令组成的序列为微程序。

      具体的微指令结构如图 5-14 所示,微指令字长为 23 位,它由操作控制和顺序控制两大部分组成。

 图 5-14 所示的控制信号都是节拍电位信号,其持续时间都为一个 CPU 周期,LDR1′,LDR2′,LDR3′三个信号作用为将运算结果打入寄存器,因此应该将其与节拍脉冲 T 相与来得到 LDR1~LDR3。

⑷微程序控制器原理框图

微程序控制器原理框图如图 5-15 所示

 

①控制存储器

     读出一条微指令并执行这条微指令的时间总和称为一个微指令周期;控制存储器的字长就是微指令字的长度。

②微指令寄存器

   微指令寄存器包括微地址与微命令寄存器,其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。

③地址转移逻辑

地址转移逻辑负责自动完成修改微地址的任务。

⑸CPU 周期与微指令周期的关系

        在串行方式的微程序控制器中,微指令周期等于读微指令的时间与执行微指令的时间之和。为了保证整个机器控制信号的同步,可以将一个微指令周期设计得恰好和 CPU 周期相等。

⑹机器指令与微指令的关系

①一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。

②从指令与微指令、程序与微程序、地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。

 

2.微程序设计技术

⑴ 微命令编码

①直接表示法:操作控制字段中的每一位代表一个微命令。

②编码表示法:把一组相斥性的微命令信号组成一个小组(即一个字段),然后通过小组译码器对每一个微命令信号进行译码,译码的输出结果作为操作控制信号,其微指令结构如图 5-16 所示,其优点是可以用较小的二进制信息位表示较多的微命令信号。

③混合表示法:把直接表示法与字段编码法混合使用。

⑵微地址形成方法

微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问题。

①计数器方式

通过计数器方式产生微地址的方法同用程序器计数来产生机器指令地址的方法类似。

②多路转移方式

顺序控制字段中,若“状态条件”有 n 位标志,可实现微程序 2n 路转移,涉及微地址寄存器的 n 位。

⑶ 微指令格式

①水平型微指令一次能定义并执行多个并行操作微命令的微指令,称为水平型微指令。水平型微指令的一般格式如下:

水平微指令的一般格式
控制字段判别测试字段下地址字段

按照控制字段的编码方法不同,水平型微指令又分为三种:

a.全水平型微指令;       

b.字段译码法水平型微指令;

 c.直接和译码相混合的水平型微指令。

②垂直型微指令

微指令中采用微操作码编译法来设置微操作码字段,即微操作码规定微指令的功能,称为垂直型微指令。与水平型微指令相比,垂直型对应的微程序要长,但其微指令结构较短。

 

 

五、硬连线控制器

  1. 基本思想

 (1)概述

硬连线控制器把控制部件看作产生专门固定时序控制信号的逻辑电路,它是一种由门电路和触发器构成的复杂树形逻辑网络,故称之为硬连线控制器。

  ⑵ 结构

硬连线控制器的结构方框如图 5-17 所示。

 

逻辑网络的输入信号有三个来源:

①指令操作码译码器的输出 Im;

②执行部件的反馈信息 Bj;

③时序产生器的时序信号,包括节拍电位信号 Mi 和节拍脉冲信号 Tk。

与微程序控制相比,硬连线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响速度,而硬连线控制主要取决于电路延迟。

 

2.指令执行流程

       一个机器指令对应一段微程序,而一个微指令周期则对应一个节拍电位。在用硬连线实现的操作控制器中, 时序产生器除了产生节拍脉冲信号,还应产生节拍电位信号,五条指令的指令周期流程如图 5-18 所示。

 

3.微操作控制信号的产生

       在微程序控制器中,微操作控制信号由微指令产生,并且可以重复使用;在硬连线控制器中,微操作控制信号由布尔代数表达式描述的输出函数产生。

 

六、流水 CPU

1.并行处理技术

⑴ 并行性的含义

①一是同时性,指两个以上事件在同一时刻发生;

②二是并发性,指两个以上事件在同一时间间隔内发生。

⑵ 并行性的形式

①时间并行;

②空间并行;

③时间并行+空间并行。

 2.流水 CPU 的结构

⑴ 流水计算机的系统组成

现代流水计算机的系统组成原理示意图如图 5-19 所示。

①CPU 的三级流水线

CPU 按流水线方式组织,通常包括三大部分:指令部件、指令队列、执行部件。这三个功能部件可以组成一个三级流水线,三大部分自身又用流水线构成。

②速度匹配的方法

为了解决执行段的速度匹配问题,通常采用并行的运算部件以及流水线的工作方式来解决:

    a.将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分;

    b.在浮点执行部件中,又分为浮点加法部件和浮点乘/除部件; c.浮点运算部件都以流水线方式工作。

⑵流水 CPU 的时空图

         假设指令周期包含四个子过程:取指令(IF)、指令译码(ID)、执行运算(EX)、结果写回(WB),每个子过程称为过程段(Si),流水 CPU 中一个指令周期的任务分解如图 5-20(a)所示,非流水时空图如图 5-20(b)所示,而标量流水和超标量流水时空图如图 5-20(c)、5-20(d)所示。

 

 ⑶流水线分类

一个计算机系统可以在不同的并行等级上采用流水线技术。常见的流水线形式有:

①指令流水线

指令流水线为指令步骤的并行。将指令流的处理过程划分为取指令、译码、取操作数、执行、写回等几个并行处理的过程段。

②算术流水线

算术流水线指运算操作步骤的并行。

③处理机流水线

      处理机流水线又称为宏流水线,是指程序步骤的并行。

 

 

3.流水线中的主要问题

⑴ 资源相关冲突

①概述

资源相关是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。当数据和指令放在同一个存储器且只有一个访问口时,便发生两条指令争用存储器资源的相关冲突。

②解决冲突的办法

a.第I4 条指令停顿一拍后再启动;

b.增设一个存储器,将指令和数据分别放在两个存储器中。

 

⑵数据相关冲突

①概述

在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。

②解决冲突的办法

流水 CPU 的运算器中特意设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用, 这称为“向前”或定向传送技术。

⑶控制相关冲突

①概述

控制相关冲突是由转移指令引起的。依据转移条件的产生结果,当执行转移指令时,可能顺序取下条指令, 也可能转移到新的目标地址取指令,从而使流水线发生断流。

②解决冲突的办法:

a.延迟转移法;

b.转移预测法。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文阅读】[JBHI] VLTENet、[ISBI]

[JBHI] VLTENet 论文连接:VLTENet: A Deep-Learning-Based Vertebra Localization and Tilt Estimation Network for Automatic Cobb Angle Estimation | IEEE Journals & Magazine | IEEE Xplore Published in: IEEE Journal of Biomedical and Health Infor…

9.1 相关分析

学习目标: 如果我要学习相关分析,我可能会按照以下步骤进行: 确定学习相关分析的目的和应用场景,例如研究两个变量之间的相关性、了解变量之间的关系、预测未来趋势等。学习相关分析的基本概念和原理,包括相关系数、…

VS——Visual Studio 2022 社区版——快捷键

VS——Visual Studio 2022 社区版——快捷键官网简介PDF完整PDF编辑编辑:常用快捷方式菜单栏 会显示 快捷键功能搜索大纲 折叠 展开Ctrl M M 切换官网 https://learn.microsoft.com/zh-cn/visualstudio/ide/default-keyboard-shortcuts-in-visual-studio?viewvs-2…

数据结构 — 【排序算法】

目录 1.排序的概念及其运用 1.1排序的概念 1.2排序运用 1.3 常见的排序算法 2.常见排序算法的实现 2.1 插入排序 直接插入排序 希尔排序 2.2 选择排序 直接选择排序 堆排序 2.3 交换排序 冒泡排序 快速排序 2.4 归并排序 2.5 非比较排序 计数排序 基数排序 3.排序算法…

【Unity入门】12.MonoBehaviour事件函数

【Unity入门】MonoBehaviour事件函数 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)常用的事件函数 (1)start和update方法 之前我们写的脚本,会默认帮助…

4.3 分部积分法

学习目标: 学习分部积分法,我可能会按照以下步骤进行: 理解分部积分法的基本思想。分部积分法是一种通过对积分式中的不同部分进行乘积分解,然后对乘积中的某一项进行积分,对另一项进行微分,从而将原积分式…

NumPy 秘籍中文第二版:五、音频和图像处理

原文:NumPy Cookbook - Second Edition 协议:CC BY-NC-SA 4.0 译者:飞龙 在本章中,我们将介绍 NumPy 和 SciPy 的基本图像和音频(WAV 文件)处理。 在以下秘籍中,我们将使用 NumPy 对声音和图像进…

叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践

导读: 随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时 OLAP 数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实…

一键构建分布式云原生平台

目录专栏导读一、分布式云原生平台1、应用无所不能2、运行无处不在3、服务千行白业二、分布式云原生平台关键要素1、统一应用管理2、统一流量自治3、统一数据管理4、统一运维三、多云多集群已经广泛应用四、分布式云的优势:1、避免厂商锁定2、满足合规化要求3、增强…

收藏!7个国内「小众」的程序员社区

技术社区是大量开发者的集聚地,在技术社区可以了解到行业的最新进展,学习最前沿的技术,认识有相同爱好的朋友,在一起学习和交流。 国内知名的技术社区有CSDN、博客园、开源中国、51CTO,还有近两年火热的掘金&#xff…

基于决策树及集成算法的回归与分类案例

基于决策树及集成算法的回归与分类案例 描述 本任务基于决策树及集成算法分别实现鲍鱼年龄预测案例和肿瘤分类案例。鲍鱼年龄预测案例是建立一个回归模型,根据鲍鱼的特征数据(长度、直径、高度、总重量、剥壳重量、内脏重量、壳重)等预测其…

Python:超级大全网上面试题搜集整理(四)

转载参考: python 面试题(高级)_python高级面试题_梦幻python的博客-CSDN博客 cpython pypy_介绍Cython,Pypy Cpython Numba各有什么缺点【面试题详解】_函明的博客-CSDN博客 Cython、PyPy专题开篇 - 知乎 Python抽象类和接口类_python 接口类_代码输…

蓝桥杯客观题知识点

一、异步和同步的在于 有无统一的时钟信号 异步无 同步有 RS485 半双工、异步、串行、差分输入------多级通信(USB\键盘等外设) RS232 全双工、异步、串行、单端输入------一对一通信 二、组合逻辑电路和时序逻辑电路的区别 组合:任意时…

使用反射重新执行不同的方法

0. 用到的技术 反射获取正在执行的方法名称Class[]数组的获取 1. 为什么要这样做? 情况如下: 当我调用sendCommands方法发送请求时可能会收到errorCode为403也就是代码中的MDS_ERROR,就是当token(mds)失效了这种情况,我们就需要重新刷新token,并且重新执行该方法 假设还有1…

SYN FLOOD攻击和HTTP慢速攻击实验笔记

SYN_FLOOD攻击和HTTP慢速攻击是DDOS攻击的两种方式。 SYN Flood攻击 SYN Flood攻击的原理就是阻断TCP三次握手的第三次ACK包,即不对服务器发送的SYNACK数据包做出应答。由于服务器没有收到客户端发来的确认响应,就会一直保持连接直到超时,当…

产品营销软文怎么写吸引人?

随着互联网的发展,人们获取信息的渠道变得越来越多,其中软文营销成为了众多企业推广自己产品的主要方式之一。那么,软文营销怎么写才能吸引人呢?这里有一些建议,可以帮助你解决这个问题。 要想写出一篇成功的软文&…

自拍的照片不太清晰怎么办?拍摄的模糊照片如何修复高清?

如果您的人像照片不太清晰,可能是由于手持相机时快门速度过慢、摄像机抖动或者焦点不准确等原因造成的。 自己拍摄的照片总是感觉不太清晰,放大看的话更是模糊,该如何是好? 以下是一些避免自拍照片模糊的方法: 1、使…

XSKY星辰天合荣获环球网“年度科技优秀创新案例”

近日,环球网主办的第四届环球趋势大会在广州举行,由环球时报、环球网联合主办的“2022 环球趋势案例征集活动”评选结果同步揭晓,XSKY星辰天合荣获 2022 环球趋势案例“年度科技创新优秀案例”。“2022 环球趋势案例”是人民日报旗下&#xf…

6个免费高清图库素材库,设计师、自媒体都在用~

免费高清图片素材分享,建议收藏起来. 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYxMjky 超大图库网站,含有几百万张图片素材,自然、植物、人物、日常、交通等涵盖多种类型,全部都有详细的标签分类。图片素材质量都很高…

DOM 事件相关知识总结——事件绑定、事件流(事件冒泡、捕获)

1. 事件绑定方式 1. 直接给元素添加事件属性 <input onclick"alert(我被点击了&#xff01;)" type"button" value"点我试试" />优点&#xff1a;大家都会&#xff0c;几乎所有的浏览器都支持 缺点&#xff1a;夹杂在HTML代码中&…