05中央处理器

一、CPU的功能和组成

中央处理器是控制计算机自动完成取出指令和执行指令任务的部件,它是计算机的核心部件,通常简称为CPU
CPU对整个计算机系统的运行是极其重要的

1.CPU的主要功能

  • 指令控制
    程序的顺序控制
  • 操作控制
    CPU负责管理并产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作
  • 时间控制
    对各种操作的实施时间进行定时
  • 数据加工
    对数据进行算术运算和逻辑运算处理,这是CPU的核心功能之一

2. CPU的基本组成

  • 运算器
  • cache
  • 控制器

3.CPU中的主要寄存器

  • 数据缓冲寄存器(DR)

DR用来暂时存放由内存读出或写入的一条指令或一个数据字
作为CPU和内存及外部I/O设备之间信息传送的中转站
用于补偿CPU与内存及外围设备之间在操作速度上的差别
在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器

  • 指令寄存器(IR)

IR保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器
指令译码器对指令操作码进行测试,以便识别所要求的操作
指令寄存器中的操作码字段被送入指令译码器中,
操作码一经译码后,即可向操作控制器发出具体
操作的特定信号

  • 程序计数器(PC)

PC自动确定下一条指令的地址
在程序开始执行前,必须将该程序在内存单元的起始地址,即第一条指令的地址送入PC。当执行指令时,CPU将自动修改PC的内容,使其保持的总是下一条将要执行的指令的地址
当遇到转移指令(如JMP指令)时,下一条指令的地址将由转移指令来规定
程序计数器PC,具有信息寄存和计数两种功能

  • 数据地址寄存器(AR)

AR用来保存当前CPU所访问的内存单元的地址。使用地址寄存器来保持地址信息,直到对内存的读/写操作完成为止
地址寄存器的结构和数据缓冲寄存器、指令寄存器一样,信息的存入一般采用电位-脉冲方式,目电位输入端对应数据信息位,脉冲输入端对应控制信号,在控制信号CLK的作用下,瞬时将信息打入寄存器

  • 通用寄存器(R0-R3)

通用寄存器的作用:当运算器需执行算术或逻辑运算时,为ALU提供一个工作区
目前CPU中的通用寄存器,多达64个,甚至更多其中任何一个可存放源操作数,也可存放结果操作数,在这种情况下,需要在指令格式中对寄存器号加以编址

  • 状态字寄存器(PSW)

状态字寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容
进位标志(C)、 结果溢出标志(V)
结果为零标志(Z)、结果为负标志(N)
还保存中断和系统工作状态等信息,以便使CPU
和系统能及时了解机器运行状态和程序运行状态

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

  • 数据通路
    指寄存器之间传送信息的通路
  • 时序产生器
    产生并发出计算机所需要的时序控制信号
  • 操作控制器
    根据指令操作码和时序信号产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制

操作控制器可分为三种类型
时序逻辑型
存储逻辑型
时序逻辑与存储逻辑结合型

二、指令周期

  • 指令周期
    CPU从内存取出一条指令并执行完这条指令的时间总和
  • CPU周期
    又称机器周期,用CPU从内存读取一条指令字所需的最短时间来定义
  • T周期
    通常称为节拍脉冲,是处理操作的最基本单位,一个CPU周期包含若干个T周期

1个指令周期=若干个CPU周期
1个CPU周期=若干个T周期

  • 指令周期流程图例题

例1:“ADD R2, R0”指令完成(R0)+(R2)->R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中,并列出其响应的微操作控制信号序列。

解: "ADD R2,R0"指令是一条加法指令,参与运算的两个数放在寄存器R2和R0中,指令周期流程图包括取指令阶段和执行指令阶段两部分。

在这里插入图片描述

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

思考:

用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?

答: ①从时间上来说:取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。
②从空间上来说:如果取出的代码是指令,那么一定经DR送往指令寄存器IR,如果取出的代码是数据,那么一定送往运算器。

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

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

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

三级体制:

主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器的状态持续时间来表示。
节拍电位(机器周期):表示一个CPU周期的时间,包含若干个节拍脉冲,表示较大的时间单位。
节拍脉冲(T周期):表示较小的时间单位。

2.时序信号产生器

微程序控制器中使用的时序信号产生器由时钟源、环形脉冲发生器、节拍脉冲和存储器读写时序、启停控制逻辑等部分组成。

四、微程序控制器

1.微程序控制原理

微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令
微程序:微指令序列为微程序
微命令:控制部件通过控制线向执行部件发出各种控制命令
微操作:执行部件接受微命令后所进行的操作。微操作可分为相容性和相斥性两种。

相容性:在同时或同一个CPU周期内可以并行执行的微操作
相斥性:不能再同时或不能在CPU周期内并行执行的微操作

微指令的基本格式
在这里插入图片描述
微程序控制器组成
控制存储器:
用来存放实现全部指令系统的微程序,是一种高速存储器

微地址:控存单元的地址
控存的一个单元的内容即控制字代表了某一个节拍的一组微操作控制信号的信息

微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑组成。

微程序控制器工作过程
实质上就是在微程序控制器的控制下,计算机执行机器指令的过程
从控存中取出一段“取机器指令”用的微程序,称为取指微程序,该微程序完成从主存中读取机器指令并送往指令寄存器
机器指令操作码通过微地址形成部件,产生对应的微程序入口地址,并送入微地址寄存器
逐条取出对应的微指令,每一条微指令提供一个微命令序列,控制有关的微操作
执行完对应与一条机器指令的一段微程序后,返回到取指微程序的入口,以便取出下一条机器指令,不断重复,直至程序执行完毕

CPU周期与微指令周期的关系
在串行方式的微程序控制器中:
微指令周期=读出微指令的时间+执行该条微指令的时间

为了保证整个机器控制信号的同步,可以将一个微指令周期设计的恰好与CPU周期时间相等。

机器指令与微程序的关系
在这里插入图片描述

机器指令和微指令的关系总结

1.一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。简言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。
2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。
3.每一个CPU周期对应一条微指令

2.微程序设计技术

  • 微程序编码
    微指令的一般格式为:
操作控制字段顺序控制字段

微命令编码,即操作控制字段设计方法:
直接表示法
在微指令的操作控制字段中每一个微命令都用一位信息表示,对应于一种微操作。设计微指令时,选用或不选用某个微命令,只要将表示该微命令的相应位设置成“1”或“0”。

优点: 简单、直观、执行速度快,微命令的并行控制能力强,编制的微程序短;
缺点: 微指令字长

编码表示法(字段编译法)
把一组相斥性的微命令信号组成一个小组(即一个字段),然后通过小组(字段)译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。

优点:使微指令字大大缩短
缺点:由于增加译码电路,使微程序的执行速度稍稍减慢

编码的原则:

1.相斥性命令分在同一字段内,相容性命令分在不同的字段内。前者可提高信息位的利用率,缩短微指令字长;后者有利于实现并行操作,加快指令的执行速度。
2.一般将同类操作中互斥的微命令划分在同一个字段中。
3.每个小字段包含的信息位不能太多,一般不超过6位,否则将增加译码线路的复杂性和译码时间。

比较直接表示法和编码表示法
例如,某机器指令系统总共需要256个微命令

采用直接表示法,微指令的操作控制字段需256位。
采用编码表示法,如将控制字段分成4位一段,共16段,每个字段经一个译码器输出,可获得16个微命令,总共16段就可获得256个微命令。微指令的操作控制字段仅64位。

混合表示法
把直接表示法与编码表示法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速度等方面的要求;在微指令中还可附设一个常数字段。该常数可作为操作数送入ALU运算,也可作为计数器初值用来控制程序循环次数。

  • 微地址的形成方法

根据机器指令操作码找到相应机器指令所对应的微程序的入口地址;
后继微地址的产生:计数器方式;多路转移

计数器方法
与用PC产生机器指令地址的方法相类似,在顺序执行微指令时,后继微地址由现行微地址加上一个增量来产生,在非顺序执行微指令时,必须通过转移方式,使现行微指令执行后,转去执行指定后继微地址的下一条微指令。
在这里插入图片描述
多路转移方式
一条微指令具有多个转移分支的能力称为多路转移。在多路转移方式中:当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给出;当微程序出现分支是,有若干“后选”微地址可供选择:即按顺序控制字段的“判别测试”标志和“状态条件”信息来选择其中一个微地址;状态标志有n位标志,可实现微程序2^n路转移,涉及微地址寄存器的n位
在这里插入图片描述

  • 微指令格式

微指令的编译方法是决定微指令格式的主要因素:

水平型微指令
一次能定义并执行多个并行操作微指令的微指令格式如下

控制字段判别测试字段下地址字段

按照控制字段的编码方法不同,水平型微指令分为三种:全水平型微指令;字段译码法水平型微指令;直接和译码相混合的水平型微指令。

垂直型微指令
在微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能;其结构类似于机器指令的结构;实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是采用较长的微程序结构去换取较短的微指令结构

五、硬布线控制器

硬布线控制器是早期设计计算机的一种方法。
基本思想:把控制部件看作为产生专门固定时序控制信号的逻辑电路,逻辑电路以使用最少元件和取得最高操作速度为设计目标。
这种逻辑电路是一种由门电路和触发器构成的复杂树形网络,故称之为硬布线控制器。

在这里插入图片描述
硬布线控制器和微程序控制器的比较
在这里插入图片描述
在这里插入图片描述

六、流水CPU

1.并行处理技术

并行性的含义:
同时性:指两个以上事件在同一时刻发生;
并发性:指两个以上事件在同一时间间隔内发生。

并行处理技术的三种形式:
1.时间并行
2.空间并行
3.时间并行+空间并行

2.流水CPU的结构

现代流水计算机中的系统中CPU按流水线方式组织,通常由三部分组成:指令部件、指令队列、执行部件。
这三个功能部件可以组成一个3级流水线。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.流水线中的主要问题

流水过程中通常会出现以下三种相关冲突使流水线断流:
资源相关;数据相关;控制相关

  • 资源相关
    是指多条指令进入流水线后,在同一机器时钟周期内争用同一个功能部件所发生的冲突
    在这里插入图片描述
  • 数据相关
    在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。
    由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。

流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。

解决数据相关冲突的办法

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

  • 控制相关
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

七、RISC CPU

RISC CPU的三个基本要素:
一个有限的简单的指令集;
CPU配备大量的通用寄存器;
强调对指令流水线的优化。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全糖去冰不加料

打赏一块钱💰也是钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值