计算机组成原理---第五章 中央处理器习题详解版

news2025/2/27 20:48:07

(一)课内习题 

 

 (二)课后习题

1.请在括号内填入适当答案。在CPU中:

(1)保存当前正在执行的指令的寄存器是( IR );

(2)保存当前正在执行的指令地址的寄存器是( AR )

(3)算术逻辑运算结果通常放在( DR )和( 通用寄存器 )。

2.参见图5.1的数据通路。画出存数指令“STO R1,(R2)”的指令周期流程图,其含义是将寄存器R1的内容传送(R2)为地址的数存单元中。标出各位操作信号序列。

① 

② 

 

3.参见图5.1的数据通路。画出存数指令“LAD R3,(R0)”的指令周期流程图,其含义是将(R3)为地址数存单元的内容传送寄存器R0的数存单元中。标出各位操作信号序列。

 答:

 

 

4.假设主脉冲源频率为10MHz,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。

解:

 

5.如果在一个 CPU周期中要产生 3个节拍脉冲;Ti = 200ns, T2=400ns, T3=200ns, 试画出时序产生器逻辑图。

6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器的容量。 

9.画出例5.2中微地址转移逻辑设计电路图。

10.某计算机有如下部件,ALU,移位器,主存M,主存数据寄存器MDR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R~R3,暂存器C和D。

(1)请将各逻辑部件组成一个数据通路,并标明数据流动方向。

(2)画出“ADD  R1,R2”指令的指令周期流程图。

 解:

 

11.已知某机采用微程序控制方式,控存容量为512 x 48位。微程序可在整个控存中实现转移,控制微程序转移的条件共4个,微指令采用水平型格式,后继微指令地址采用断定方式。请问:

(1)微指令的三个字段分别应为多少位?

(2)画出对应这种微指令格式的微程序控制器逻辑框图。

解:

(1) 

因为容量为512 x 48位,所以下址字段需用9位,控制微程序转移的条件有4个,所以判别测试字段需4位或(3位译码),因此操作控制字段的位数48-9-4=35位(或48-9-3=36位)  。

(2)微程序控制器逻辑框图参见下图:​​​​​​​

12.今有4级流水线分别完成取值、指令译码并取数、运算、送结果四步操作。今假设完成各步操作的时间依次为 100ns,100ns,80ns,50ns 。

请问:(1)流水线的操作周期应设计为多少?

(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第二条指令要 推迟多少时间进行。

(3)如果在硬件设计上加以改进,至少需推迟多少时间?

答:

 (1)流水操作周期为max(100,100,80,50)=100ns

 (2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么在第一条指令“送结果”步骤完成之后,第二条指令的“取数”步骤才能开始,即第二条指令要推迟两个操作周期,即200ns才能进行。

  (3)如果在硬件设计上加以改进,采用定向传送的技术,则只要第一条指令完成“运算”的步骤,第二条指令就可以开始“取数”步骤,因此至少推迟100ns。

13.指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器(WB)五个过程段,共有20条指令连续输入此流水线。

(1)画出流水处理的时空图,假设时钟周期为100ns;

(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数);

(3)求流水线的加速比;

答:

 14.用时空图法证明流水计算机比非流水计算机具有更高的吞吐率。

答:​​​​​​​

 

15.用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率。

解:

 

16.判断以下三组指令中各存在哪种类型的数据相关。

 

 

17.参考图5.39所示的超标量流水线结构模型,现有如下6条指令序列。

 

解:

 

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

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

相关文章

【openGauss实战13】闪回技术

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

SolidWorks创建自定义焊件轮廓的方法

在一些特定的设计情景下,一般的国标焊件库、ISO焊件库等可能满足不了我们的设计使用需求,这时候就需要我么你自己创建一个焊件轮廓,从而应用到我们的设计中。 创建新焊件轮廓的方法如下: 1.打开SolidWorks,创建一个新…

记录--9个封装Vue组件的小技巧

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 组件是前端框架的基本构建块。把它们设计得更好会使我们的应用程序更容易改变和理解。在这节课中,分享一下在过去几年中工作中学到的 9 个技巧。 1. 你可能不需要创建一个组件 在创建一个组…

eBpf在Android上的集成和调试

eBPF(Extended Berkeley Packet Filter )是一种新兴的linux内核功能扩展技术,可以无需修改内核代码,在保证安全的前提下,灵活的动态加载程序,实现对内核功能的扩展。 Android平台上也引入了对eBpf技术的支持…

Python—实现本地音乐播放器(添加/播放/暂停/下一首/上一首/音量/打开超链接)

文章目录 1.样例2.分析2.1播放器界面2.2功能2.2.1添加音乐,选择文件夹,显示文件夹里.Mp3文件2.2.2播放音乐,开始播放第一首音乐,按钮由"播放"变为"暂停",点击"暂停",变为"播放",播放显示Playing...2.2.3下一首,…

【ElasticSearch】分词器(ElasticSearchIK分词器)

1. 分词器介绍 •IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包•是一个基于Maven构建的项目•具有60万字/秒的高速处理能力•支持用户词典扩展定义 2. ik 分词器安装 IK 分词器安装 3. 分词器的使用 IK分词器有两种分词模式:ik…

港科夜闻|香港科大与香港科大(广州)管理层联席会议顺利召开

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与香港科大(广州)管理层联席会议顺利召开。这是自内地和香港全面恢复通关以来,两校的高级管理团队首次举行线下的联席会议,面对面交流、讨论有关两校协同发展的重要议题。两校持续深入推进…

【零基础学web前端】走进CSS的大门,CSS引入方式,CSS基础选择器,CSS复合选择器

前言: 大家好,我是良辰丫,前面我们已经学了html的相关知识,今天我们一起去探索前端网页的css,那么css到底是什么呢?我们慢慢往下看.💞💞 🧑个人主页:良辰针不戳 📖所属专栏:零基础学web前端 🍎…

二叉树层级遍历以及相关练习

二叉树层级遍历以及相关练习 文章目录 二叉树层级遍历以及相关练习思想步骤代码实现相关练习 力扣:102. 二叉树的层序遍历 - 力扣(Leetcode) 思想 层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。 使用队列实现二叉树广度优先遍…

算法修炼之练气篇——练气二十层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

实例演示如何结合Selenium和Requests进行自动化测试

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 Selenium和Requests是两个常用的自动化测试…

Meme和BRC-20的暴跌洗盘

* * * 原创:刘教链 * * * 5月以来的Meme(模因币,发音类似“谜姆”)狂欢,有ERC-20版本的Meme比如Pepe(青蛙佩佩),也有BRC-20版本的Meme比如ordi(序数协议本身的名字&…

IM即时通讯系统[SpringBoot+Netty]——梳理(二)

文章目录 五、IM开发核心之构建TCP网关(上)1、编写LimServer2、编写LimWebSocketServer3、使用snakeyaml动态配置文件4、大白话讲通信协议—详解主流通讯协议4.1、文本协议4.2、二进制协议4.3、xml协议4.4、可以落地使用的协议 5、私有协议编解码—设计篇…

ArcGIS栅格重采样与算法选择

本文介绍在ArcMap软件中,实现栅格图像重采样的具体操作,以及不同重采样方法的选择依据。 首先,如下图所示,是我们待重采样的栅格图像的属性界面。其中,可以看到此时栅格像元的边长为0.4867左右(由于图层是地…

“技术开发最应该做什么?”,聊聊我在服务端开发5年的理解和收获

我们新推出大淘宝技术年度特刊《长期主义,往往从一些小事开始——工程师成长总结专题》,专题收录多位工程师真诚的心路历程与经验思考,覆盖终端、服务端、数据算法、技术质量等7大技术领域,欢迎一起沟通交流。 本文为此系列第二篇…

我的.net视频课程

https://edu.csdn.net/lecturer/222?spm1002.2001.3001.4144

9.并发基础与CAS基本原理

线程的状态/线程的生命周期 初始化 Thread thread new Thread();运行 thread.start(); 运行中状态 ——> 调用yeild进入就绪状态就绪状态 ——> 通过系统调度(获取到cpu时间片),又会进入到运行中状态 等待 调用如下方法就从运行进入到等待状态: Object.wait()、Object.…

2360. 图中的最长环

方法一&#xff1a;拓扑排序加搜索 class Solution { public:bool vis[100005];vector<int>v[100005];int dfs(vector<int> &dist,int st,int step){vis[st]true; // cout<<st<<endl;int res0;for(int i0;i<v[st].size();i){int xv[st][i];if(…

Angular开发之——Angular项目介绍(03)

一 概述 Angular项目目录介绍Angular程序如何启动 二 Angular项目目录介绍 2.1 项目目录 2.2 目录结构说明 工作区配置文件 node_modules &#xff1a;第三方依赖包存放的目录src&#xff1a;应用源代码目录angular-cli.json&#xff1a; Angular命令行工具的配置文件&…

设计模式之桥接模式释义与举例剖析

文章目录 一、前言二、模式定义三、模式结构四、案例具体实现五、 模式优缺点六、 模式使用场景七、 模式总结 一、前言 开始学Java讲继承的时候&#xff0c;总喜欢用一个例子来讲解&#xff0c;那就是画图形。这里有一个画笔&#xff0c;可以画正方形、长方形、圆形。除了画出…