计算机组成原理课后习题答案:第九章

embedded/2024/12/20 13:19:18/

第九章控制单元功能

9.1设CPU内有这些部件:PC、IR、MAR、MDR、AC、CU。

(1)写出取指周期的全部微操作。

(2)写出减法指令“SUB X”、取数指令“LDA X”、存数指令“STA X”(X均为主存地址)在执行阶段所需全部微操作。

(3)当上述指令为间接寻址时,写出执行这些指令所需的全部微操作。

(4)写出无件转移指令“JMP Y”和结果溢出则转指令“BAO Y”执行阶段所需的全部微操作。

答:

9.2控制单元的功能是什么?其输入受什么控制?

答:

控制单元的主要功能是发出各种不同的控制信号。

其输入受时钟信号、指令寄存器的操作码字段、标志和来自系统总线的控制信号的控制。

9.3什么是指令周期、机器周期和时钟周期?三者有何关系?

答:

指令周期是CPU取出并执行一条指令所需的全部时间,即完成一条指令的时间。

机器周期是所有指令执行过程中的一个基准时间,通常以存取周期作为机器周期。

时钟周期是机器主频的倒数也可称为节拍,它是控制计算机操作的最小单位时间。

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

9.4 能不能说CPU的主频越快,计算机的运行速度就越快?为什么?

答:

不能说机器的主频越快,机器的速度就越快。

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

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

9.5设机器A的CPU主频为8MHz,机器周期4个时钟周期,且该机的平均指令执行速度是0.4MIPS,试求该机的平均指令周期和机器周期,每个指令周期中含几个机器周期。如果机器B的CPU主频为12MHz,且机器周期也含4个时钟周期,试问B机的平均指令执行速度为多少 MIPS?

答:

9.6设某计算机的CPU主频为8MHz,每个机器周期平均含2个时钟周期,每条指令平均有4个机器周期,试问该计算机的平均指令执行速度为多少MIPS。若CPU主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有4个机器周期,则该机的平均指令执行速度又是多少MIPS?由此可得出什么结论?

答:

9.7某CPU的主频为10MHz,若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为1MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期。若改用时钟周期为 0.4 μ s 0.4 \mu s0.4μs的CPU芯片,则计算机的平均指令执行速度为多少 MIPS?若要得到平均每秒 80万次的指令执行速度,则应采用主频为多少的 CPU芯片?

答:

9.8某计算机的主频为6MHz,各类指令的平均执行时间和使用频度如下表所示,试计算该机的速度(单位用MIPS表示)。若上述CPU芯片升级为10MHz,则该机的运行速度又为多少?

指令类别    存取    加、减、比较、转移  乘除    其他

平均指令执行时间    0.6 μs 0.8 μs 10 μs  1.4 μs

使用频度    35% 45% 5%  15%

答:

9.9 试比较同步控制、异步控制和联合控制的区别。

答:

同步控制方式是指,任何一条指令或指令中任何一个微操作的执行都是事先确定的,并且都是受统一基准时标的时序信号所控制的方式,每一个操作出现的时间与基准时标保持一致。

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

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

9.10什么是典型的同步控制?为了提高CPU的效率,在同步控制方式中又有哪些方式?以8085的输出指令为例,说明它属于哪种控制方式?

答:

典型的同步控制:

同步控制方式是指,任何一条指令或指令中的任何一个微操作的执行都是事先确定的,并且都收统一基准时标的时序信号所控制的方式。典型的同步控制方式,每个机器周期都包含4个节拍。如果机器内的存取周期不统一,那么只有把最长的存取周期作为机器周期。

为了提高 CPU 的效率,在同步控制中又有三种方案:

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

(2)采用不定长的机器周期。每个机器周期内的节拍数可以不等。通常把大多数微操作安排在一个较短的机器周期内完成,而对于某些复杂的微操作,采用延长机器周期或增加节拍的办法来解决。

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

举例:Intel8085 输出指令中每个周期内包含的节拍不同,属于不定长的机器周期的同步控制方式。

答:

9.14 设单总线计算机结构如图9.5所示,其中M为主存,XR为变址寄存器,EAR为有效地址寄存器。 LATCH 为锁存器。假设指令地址已存于PC中,画出“LDA * D”和“SUB X,D”指令周期信息流程图,并列出相应的控制信号序列。


http://www.ppmy.cn/embedded/147284.html

相关文章

linux 内核数据包处理中的一些坑和建议

1、获取IP头部 iph ip_hdr(skb); struct sk_buff { ...... sk_buff_data_t transport_header; /* Transport layer header */ sk_buff_data_t network_header; /* Network layer header */ sk_buff_data_t mac_header; /* Link layer header */ ...... } 1&#xff0…

【mybatis】缓存

目录 1. mybatis的运行 1.1 引言 1.2 具体运行: 1.3 sqlSession 介绍local catch 2. 缓存 2.1 概念 2.2 使用缓存的原因 2.3 什么样的数据能使用缓存 3. Mybatis缓存 3.1 一级缓存 3.1.1 测试一级缓存 3.1.2 缓存失效的四种情况 $1 sqlSession不同 $…

[Effective C++]条款35 virtual函数替换方案

本文初发于 “天目中云的小站”,同步转载于此。 条款35 : 考虑virtual函数以外的其他选择 我们都知道使用virtual函数是有代价的, 它会带来额外的开销, 譬如占用内存, 降低效率, 不好控制安全性等问题, 因此如果我们想构建一个逻辑缜密且标准的项目, 可以考虑一些vi…

vivado 高亮相同变量名_显示选定词的匹配项

一、引言 之前使用vivado2018.8的时候双击变量后,相同变量名的变量都会被高亮。但是下载vivado2022.2版本之后,并没有高亮相同变量。如图所示。 二、修改设置 打开设置,选择“Text Editor”,并勾选上"Display matches for th…

uniapp-微信小程序调用摄像头

1.uniapp中的index.vue代码 <template><view class"content"><view class"container"><!-- 摄像头组件 --><camera id"camera" device-position"front" flash"off" binderror"onCameraErr…

Golang囊地鼠gopher

开发知识点-golang 介绍红队专题-Golang工具Fscan简介主要功能ubuntu 安装windows 安装常用命令:项目框架源文件common目录Plugins目录Webscan目录入口点插件扫描类型爆破插件common.ScantypeWebtitle函数webpoc扫描POC 执行CEL-GO 实践CEL指纹识别免杀源码特征参考链接红队专…

【图像分类实用脚本】数据可视化以及高数量类别截断

图像分类时&#xff0c;如果某个类别或者某些类别的数量远大于其他类别的话&#xff0c;模型在计算的时候&#xff0c;更倾向于拟合数量更多的类别&#xff1b;因此&#xff0c;观察类别数量以及对数据量多的类别进行截断是很有必要的。 1.准备数据 数据的格式为图像分类数据集…

进程管理的关键:Linux进程状态与常用命令解析

个人主页&#xff1a;chian-ocean 文章专栏&#xff1a;Linux 前言&#xff1a; 在现代操作系统中&#xff0c;进程是资源分配和任务调度的基本单位。作为一个多任务操作系统&#xff0c;Linux 必须在多个进程之间进行有效的调度和管理&#xff0c;这就需要对每个进程进行状态…