计算机组成原理 第八章(控制单元的功能)—第二节(控制单元的功能)

写在前面:

  1. 本系列笔记主要以《计算机组成原理(唐朔飞)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:计算机组成原理(哈工大刘宏伟)135讲(全)高清_哔哩哔哩_bilibili

一、控制单元的外特性

1、外特性框图

2、框图解释——输入信号

(1)时钟:为了使控制单元按一定的先后顺序、一定的节奏发出各个控制信号,控制单元必须受时钟控制,即每一个时钟脉冲使控制单元发送一个操作命令,或发送一组需要同时执行的操作命令

(2)指令寄存器:现行指令的操作码决定了不同指令在执行周期所需完成的不同操作,故指令的操作码字段是控制单元的输入信号,它与时钟配合可产生不同的控制信号

(3)标志:控制单元有时需依赖CPU当前所处的状态(如ALU操作的结果)产生控制信号,如BAN指令,控制单元要根据上条指令的结果是否为负而产生不同的控制信号,因此“标志”也是控制单元的输入信号

(4)来自系统总线(控制总线)的控制信号:例如,中断请求、DMA 请求。

3、框图解释——输出信号

(1)CPU内的控制信号:主要用于CPU内的寄存器之间的传送和控制ALU实现不同的操作。

(2)送至系统总线(控制总线)的信号:例如命令主存或I/O读/写、中断响应等。

二、控制信号举例

1、不采用CPU内部总线的方式

        图中未画出每个寄存器的输入或输出控制门,但标出了控制这些门电路的控制信号C_{i},考虑到从存储器取出的指令或有效地址都先送至MDR再送至IR,故这里省去了送至MAR的数据通路,凡是需要从IR送至MAR的操作均可由MDR送至MAR代替。图中C_{9}C_{10}分别是控制PC的输出和输入的控制信号,C_{11}C_{12}分别是控制AC的输出和输入的控制信号。

        下面以“ADD @ X”(间接寻址的加法指令)为例说明该指令的指令周期。

(1)取指周期:

(2)间址周期:

(3)执行周期:

2、采用CPU内部总线的方式

        图中每一个小圈处都有一个控制信号,它控制寄存器到总线或总线到寄存器之间的传送,下标为o的信号控制寄存器的输出,下标为i的信号控制寄存器的输入。

        下面以“ADD @ X”(间接寻址的加法指令)为例说明该指令的指令周期。

(1)取指周期:

(2)间址周期:

(3)执行周期:

三、多级时序系统

1、机器周期

        机器周期可看作所有指令执行过程中的一个基准时间,机器周期取决于指令的功能及器件的速度。

        确定机器周期时,通常要分析机器指令的执行步骤及每一步骤所需的时间,通过对机器指令执行步骤的分析,会找到一个基准时间,在这个基准时间内,所有指令的操作都能结束,不过以这个基准时间定为机器周期的话,显然不是最合理的,因为只有以完成复杂指令功能所需的时间(最长时间)作为基准,才能保证所有指令在此时间内完成全部操作,这对简单指令来说,显然是一种浪费。

        进一步分析发现,机器内的各种操作大致可归属为对CPU内部的操作和对主存的操作两大类,由于CPU内部的操作速度较快,CPU访存的操作时间较长,因此通常以访问一次存储器的时间定为基准时间较为合理,这个基准时间就是机器周期。又由于不论执行什么指令,都需要访问存储器取出指令,因此在存储字长等于指令字长的前提下,取指周期也可看作机器周期

2、时钟周期(节拍、状态)

        在一个机器周期里可完成若干个微操作,每个微操作都需要一定的时间,可用时钟信号(CLK)来控制产生每一个微操作命令。时钟信号可由机器主振电路(如晶体振荡器)发出的脉冲信号经整形(或倍频、分频)后产生,时钟信号的频率即为CPU主频

        用时钟信号控制节拍发生器,就可产生节拍,每个节拍的宽度正好对应一个时钟周期在每个节拍内机器可完成一个或几个需同时执行的操作,它是控制计算机操作的最小时间单位

3、多级时序系统

        一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期(节拍),每个指令周期内的机器周期数可以不等,每个机器周期内的节拍数也可以不等

        机器周期、节拍(状态)组成了多级时序系统。

        一般来说,CPU的主频越快,机器的运行速度也越快。在机器周期所含时钟周期数相同的前提下,两机平均指令执行速度之比等于两机主频之比。

        实际上机器的速度不仅与主频有关,还与机器周期中所含的时钟周期数以及指令周期中所含的机器周期数有关。同样主频的机器,由于机器周期所含时钟周期数不同,运行速度也不同,机器周期所含时钟周期数少的机器,速度更快。

        此外,机器的运行速度还和其他很多因素有关,如主存的运行速度、机器是否配有Cache、总线的数据传输率、硬盘的运行速度以及机器是否采用流水技术等。机器速度还可以用MIPS(执行百万条指令数每秒)和CPI(执行一条指令所需的时钟周期数)来衡量。

四、控制方式

1、概述

(1)控制单元控制一条指令执行的过程实质上是依次执行一个确定的微操作序列的过程。由于不同指令所对应的微操作数及其复杂程度不同,因此每条指令和每个微操作所需的执行时间也不同。通常将如何形成控制不同微操作序列所采用的时序控制方式称为CU的控制方式

(2)常见的控制方式有同步控制、异步控制、联合控制和人工控制四种。

2、同步控制方式

(1)同步控制方式是指任何一条指令或指令中任何一个微操作的执行都是事先确定的,并且都是受统一基准时标的时序信号所控制的方式。

(2)下图所示就是一种典型的同步控制方式,每个机器周期都包含4个节拍。如果机器内的存储器存取周期不统一,那么只有把最长的存取周期作为机器周期才能采用同步控制。

(3)有些不访存的指令,其指令周期的微操作较少,无需4个节拍,为了提高CPU效率,在同步控制中又有3种方案:

①采用定长的机器周期:不论指令所对应的微操作序列有多长,也不管微操作的简繁,一律以最长的微操作序列和最繁的微操作作为标准,采取统一的、具有相同时间间隔和相同数目的节拍作为机器周期来运行各种不同的指令

②采用不定长的机器周期:每个机器周期内的节拍数可以不等,通常把大多数微操作安排在一个较短的机器周期内运行,对某些复杂的微操作,采用延长机器周期或增加节拍的办法解决

③采用中央控制和局部控制相结合的方法:大部分指令安排在统一的、较短的机器周期内完成,称为中央控制,而将少数操作复杂的指令中的某些操作(如乘除法和浮点运算等)采用局部控制方式来完成。

        在设计局部控制线路时需要注意两点:其一,使局部控制的每一个节拍T^{*}的宽度与中央控制的节拍宽度相同;其二,将局部控制节拍作为中央控制中机器节拍的延续,插入中央控制的执行周期内,便机器以同样的节奏工作,保证局部控制和中央控制的同步。T^{*}的多少可根据具体情况而定。

3、异步控制方式

        异步控制方式不存在基准时标信号,没有固定的周期节拍和严格的时钟同步,执行每条指令和每个操作需要多少时间就占用多少时间。这种方式微操作的时序由专门的应答线路控制,即当CU发出执行某一微操作的控制信号后,等待执行部件完成该操作后发回“回答”(或“结束”信号),再开始新的微操作,CPU没有空闲状态,但因需要采用各种应答电路,故其结构比同步控制方式复杂。

4、联合控制方式

        同步控制和异步控制相结合就是联合控制方式。这种方式对各种不同指令的微操作实行大部分统一、小部分区别对待的办法。例如,对每条指令都有的取指令操作,采用同步方式控制;对那些时间难以确定的微操作,如I/O操作,则采用异步控制,以执行部件送回的“回答”信号作为本次微操作的结束。

5、人工控制方式

        人工控制是为了调机和软件开发的需要,在机器面板或内部设置一些开关或按键,来达到人工控制的目的。

        ①Reset(复位)键:

        按下Reset键,使计算机处于初始状态。当机器出现死锁状态或无法继续运行时,可按此键。若在机器运行时按此键,将会破坏机器内某些状态而引起错误,因此要慎用。

        ②连续或单条执行转换开关:

        由于调机的需要,有时需要观察执行完一条指令后的机器状态,有时又需要观察连续运行程序后的结果,设置连续或单条执行转换开关,能为用户提供这两种选择。

        ③符合停机开关:

        有些计算机还配有符合停机开关,这组开关指示存储器的位置,当程序运行到与开关指示的地址相符时,机器便停止运行,称为符合停机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值