一、第七章课后题答案:

二、第七到九章重要知识点解析:

1、1GHz相当于10亿个时钟周期,1亿是10^8,所以1GHz=10^9个时钟周期。1MHz是10^6个时钟周期。

2、1ms毫秒=10^-3s秒。1us微秒=10^-6s秒,1ns纳秒=10^-9s秒,1ps皮秒=10^-12s秒。

3、4级流水线相当于4个功能段:取指、译码、执行、写回。课本上MIPS32是5级流水线,包括:取指、译码、执行、访存、写回。

7.2(1)(2013)某 CPU 主频为 1.03 GHz,采用 4 级指令流水线,每个流水段的执行需要 1 个时钟周期。假定 CPU 执行了 100 条指令,在其执行过程中,没有发生任何流水线阻塞,此时流水线的吞吐率为(C)
A. 0.25×109条指令/秒 B. 0.97×109条指令/秒
C. 1.0×109条指令/秒 D. 1.03 ×109条指令/秒

解析:采用 4 级流水执行 100 条指令,在执行过程中共用 (4-1) +100 =103 个时钟周期((k-1)+n),为什么k-1呢?想象第100条指令进入第1阶段,此时是第100个周期;第101周期,第100条指令进入第2阶段;第102周期,进入第3阶段;103阶段进入第4阶段。4级指令4个阶段,所以程序此时才走完所以阶段。CPU 主频是1.03 GHz,即每秒1.03x10^9个时钟周期,那么流水时间为103/1.03x10^-9=10^-7秒,流水线吞吐率=指令数/流水时间=100/10^-7=1.0x10^9条指令/秒。

4、先写后读冲突RAW:一个指令在读取某个寄存器或内存位置的值之前,该位置的值被另一个指令更新了,从而导致前面指令读取的数据不是最新的数据。特征:指令I2的源操作数是指令I1的目的操作数。

7.2(4)(2016)已知无转发机制的五段基本流水线(取指、译码/读寄存器、运算、访存、写回寄存器)中,下列指令序列存在数据冒险的指令对是(B)
I1: add R1,R2,R3; (R2)+(R3)->R1
I2: add R5,R2,R4; (R2)+(R4)->R5
I3: add R4,R5,R3; (R3)+(R5)->R4
I4: add R5,R2,R6; (R2)+(R6)->R5
A、I1和I2 B、I2和I3 C、I2和I4 D、I3和I4

解析:因为R5是指令I2的目的操作数,R5又是指令I3的源操作数,读取的R5是修改后的值,会导致先写后读RAW错误,发生冲突。

5、数据旁路(转发):不等待指令写回,直接将前面指令的执行结果转发给需要使用它的指令的读取端口,避免冲突的发生,不会引起指令流水线阻塞。

数据相关:当前指令需要使用前面指令的执行结果,但前面指令的执行结果还没有被写回到寄存器中,需要等待前面指令执行完成,流水线会阻塞。

条件转移:需要等待跳转目标地址确定后才能继续执行下一条指令,要等待当前指令的计算结果完成,可能会导致流水线的阻塞。

资源冲突:个指令需要访问同一资源,从而需要等待资源访问完成,造成流水线阻塞。

7.2(6).下列不会引起指令流水阻塞的是(A)
A.数据旁路
B.数据相关
C.条件转移
D.资源冲突

6、指令格式规整且长度一致:有利于节省指令的执行时间(因为如果长度不一致,会导致某些指令过长,延长流水线的时钟周期,影响效率)

指令和数据按边界对齐存放:可以提高指令的访问效率,保证相邻的指令或数据被存储在同一个缓存块中(因为现代计算机的存储器管理单元通常会将存储器地址按照一定的规则进行划分,每个划分称为一个页面(Page),页面的大小通常为2的幂次方(例如,4KB、8KB、16KB等)。当指令或数据被加载到处理器的缓存中时,通常会加载整个页面,而不是单独的一个指令或数据。如果相邻的指令或数据存储在同一个页面中,它们就会被同时加载到缓存中)从而提高了缓存的命中率。

7、指令流水线数据通路不包含生成控制信号的控制部件:指令流水线系统中,每个阶段的执行需要依赖于一些控制信号。生成控制信号的控制部件需要在不同的阶段生成不同的控制信号。为了实现这个目标,指令流水线系统中的控制器通常被集成到每个阶段的功能部件中,由这些功能部件自行生成相应的控制信号。因此,指令流水线系统不需要像单周期处理器那样单独包含生成控制信号的控制部件。

——————————————以下是第8章————————————————————

1、在系统总线的数据线上,不可能传输的是:C

A、指令  B、操作数  C、握手(应答)信号  D、中断类型号

解析:总线包括片内总线、系统总线、通信总线。系统总线的“数据线”包括数据总线(选项B)、地址总线、控制总线(选项AD)。应答信号在通信总线传输。

2、采用异步通信方式传送ASCII时,若数据位为8位,校验位为1位,停止位为1位,当波特率为4800bit/s时,字符传送的速率是多少?每个数据位的时间长度是多少?数据位的传送速率是多少?

解析:字符传送速率:4800/10=480字符/s。每个数据位的时间长度:注意到当位数为10位时,每秒相当于传送4800个字符,现在分析的是数据位(8个),因此是4800 x 8/10 = 3840字符/s,所以用1s/3840就是每个数据位的时间长度,为0.26ms(毫秒)。数据位传送速率:480 x 8  =3840bit/s。

1、数据传输速率 = 数据位宽 / 时间

3、某64位同步总线支持突发传输模式,每个时钟周期可以传送一个地址或数据,总线周期周期由1个时钟周期的地址阶段、若干个数据阶段组成。若存储器每存取一个数据需要两个时钟周期,突发长度小于等于4。请计算在下列两种情况下,总线和存储器能提供的数据传输速率各是多少。

(1)每个总线事务传输32位数据  (2)每个总线事务包含4个是数据期

解析:假设1个时钟周期用1T表示,时钟频率用f表示:(1)因为是突发传输模式,所以总线传输32位数据需要2个时钟周期(1个地址1个数据),32bit/2T=16f bit/s。存储器需要3个时钟周期(1个地址2个数据),32bit/3T=10.67f bit/s。

(2)包含4个数据期,意思就是在突发传输模式下,传输了4组数据,每组是64位的,总线传输是5个时钟周期(1个地址4个数据),所以是64 x 4 /5T = 51.2f bit/s (这里之所以要乘4是因为传输了4组数据)。存储器需要9个时钟周期(1个地址8个数据) 64 x 4 / 9T = 28.4bit / s。

——————————————以下是第9章————————————————————

假设例9.1的计算机系统采用中断驱动方式进行输入输出,CPU的时钟频率为200MHz,硬盘以512字节大小的扇区为单位传输数据,启动阶段发送命令和参数需要90个时钟周期,每次中断服务的开销为400个时钟周期(包括中断响应、中断处理,不包括数据传输),实际传输阶段需要1555个时钟周期,CPU访问磁盘的速率为20MB/s。

(1)求中断驱动I/0方式中CPU的占用率

(2)如果硬盘速率提高到60MB/s,会发生什么情况?

解析:(1)CPU访问磁盘的速率(20MB/s)除以磁盘的扇区大小(512B),可以获得CPU每秒访问磁盘的次数,相当于39062.5次。而每一次访问,都需要启动开销,中断服务开销,传输数据开销,三个开销加起来(90+400+1555)为2045个时钟周期(T)。2045T x 39062.5就是磁盘I/O中断的开销。因为CPU的时钟频率为200MHz,所以倒数就是CPU一秒的时钟周期数。占用率为2045T x 39062.5 / 200 x 10^6=0.3994约等于39.94%

(2)如果硬盘速率提高到60MB/s,访问次数:60x10^6/512=117187.5次,117187.5 x 2045T /200 x 10^6 = 1.1982相当于119.82%,CPU占用率超过100%,会产生数据丢失。

1、接口命令寄存器:用于向接口设备发送指令,控制数据的传输和处理。在接口芯片中实现。

2、串行工作:是指数据传输过程中,数据位按照顺序一个一个地传输,而不是一次性传输所有的数据位。

3、接口状态寄存器:通常是在接口芯片中。

4、数据线传送的内容:数据缓存寄存器和命令/状态寄存器(包括:中断请求、错误码、控制位、状态、命令)。

5、地址线传输的内容:与CPU交换数据的端口地址。

6、状态端口:用于传输外设的状态信息(忙碌,错误,准备就绪)。

7、控制端口:可控制外设的行为(启动、停止、重置)。

8、I/O端口:用于实现CPU与外设间的数据交换和通信,是I/O接口中CPU可访问的寄存器,是I/O接口中用于缓冲信息的寄存器。首先要明确I/O端口是一种特殊的寄存器,用于存储外设的状态信息、控制信息、数据等。注意I/O端口可以存储数据,I/O指令实现的数据传输发生在通用寄存器和I/O端口之间。

9、中断响应阶段:关中断,保存断点(中断的点),中断识别(修改PC转到中断服务程序)。

10、中断服务程序:保护现场,中断服务,恢复现场,开中断,中断返回(修改PC)。先保护现场,然后中断事件处理,然后恢复现场,然后开中断,然后中断返回。

11、嵌套中断优先级顺序的题目,有一个技巧是:把前面已经中断过的屏蔽字置0。我的理解是:既然前面已经执行过了,后面就不会再继续中断执行了,所以索性设置为0(允许中断),也不会有影响。

解释一下图为什么这么画,因为优先级L0最高,所以会先进入L0执行。此时L1和L3都是允许中断,L1比L3优先级高,所以进入L1执行。因为L1为全1,所以L1执行完。此刻跳转回L0执行,L3允许中断,进入L3执行,因为L1已执行过,所以置0也无大碍,其它都是1,所以L3执行完。返回L0执行完。最后进入还未执行的L2,因为L0,L1,L3均已执行完,所以全置0,L2执行完后程序结束。

12、某计算机的CPU主频为500MHz,与之连接的外部设备的最大数据传输速率为20KB/s,外部设备接口中有一个16位的数据缓冲器,响应的中断服务程序的执行时间为500个时钟周期,通过分析该设备是否可采用中断I/O方式。若该设备的最大数据传输速率为2MB/s,则该设备是否可采用中断I/O方式?

解析:因为采用的是中断服务程序,搜易当外部设备向CPU传输数据时会临时中断CPU,所以这道题主要考虑的是数据传输对CPU中断的影响,如果占CPU时间过长,则不能采用中断I/O的方式。

解题:16位是2B,20KB/s / 2B 相当于一秒要传输10000次数据,每次中断时间500个时钟周期,所以是5 x 10^6,又因为CPU主频是500MHz,相当于是5 x 10^8个时钟周期,二者相除相当于1/100,所以传输速度为2KB/s所导致的中断占CPU时间的1%,所以是可以采用中断I/O方式的。而当传输速度为2MB/s时一秒要传输1M次,相当于10^6 x 500 = 5 x 10^8个时钟周期,CPU的时间全部被占满,因此不可以采用中断I/O的方式。

13、CPI是指执行每条指令所需要的平均时钟周期数

p371页 9.8   假定计算机主频为500MHz,CPI为4,现有设备A和B,它们的传输速率分别为2MB/s和40MB/s,对应I/O接口中各有一个32位数据缓存寄存器。

(1)若设备A采用定时查询I/O方式,每次输入输出都至少执行10条指令。设备A最多间隔多重时间查询一次才能不丢失数据?CPU用于设备A输入输出的时间占CPU总时间的百分比至少是多少?

解析:32位是4B,CPI为4又每次输入输出执行10条指令,所以需要40个时钟周期,用2MB/4B=500000次,1/0.5x10^6 = 2us(1秒除50万次,得到1次多长时间),所以2us要请求一次,用5x10^5x4x10=2x10^7(请求的次数乘每次花费的时钟周期得到时钟周期数),再用2x10^7/5x10^8=4%(除以主频表示的每秒CPU的时钟周期数得到占比)。

(2)在中断I/O方式下,若每次中断响应和中断处理的总时钟周期数至少为400,则设备B能否采用中断I/O方式?为什么

解析:40MB/s / 4B=10^7次查询,每次查询时钟周期数4x10^2,查询数x每次查询时钟周期数=4x10^9远远大于CPU每秒的时钟周期数5x10^8所以不能采用中断I/O方式。

(3)若设备采用DMA方式每次DMA传送的数据库大小为1000B,CPU用于DMA预处理和后处理的总时钟周期数为500,则CPU用于设备B输入输出的时间占CPU总时间的百分比最多是多少?

解析:采用DMA传输,需要传输40MB/1000B= 4x10^4次,每次时钟周期500,4x10^4x5x10^2=2x10^7,用2x10^7除CPU一秒内的时钟周期数5x10^8=4%。

——————————————以下是第1章————————————————————

CPI是指执行每条指令所需要的平均时钟周期数

——————————————以下是第6章————————————————————

第六章课后题的第21题:

我的理解就是,编码表示法中的互斥组,每类微指令的控制信号,只能从每个互斥组中取出一个控制信号。而从直接表示法中的控制信号中可以取不止一个控制信号。

比如:让a直接表示。看微指令ul3和ul4,先让db为一组,ei为一组。带入ul1检验,将c纳入db组,互斥组为bcd,将多出的g直接表示。带入ul5检验,将f纳入ei组,成为互斥组efi。带入ul2检验,a直接表示,d为bcd互斥组成员,f为efi互斥组成员,剩下h和j用直接法表示。

得到互斥组bcd和互斥组efi和直接表示的四元素aghj。

因为每个译码器的输出状态中需要预留一个状态,所以2位的译码器只能表示3个操作控制信号。

此时操作控制字段的长度是8位。

计算机组成原理(谭志虎)第7章课后题部分答案及解析+第7到9章重要知识点解析相关推荐

  1. [计算机组成原理(谭志虎 微课版)]第一章 计算机系统概述(课后习题[习题1]+答案解析)

    1.1 解释下列名词. 摩尔定律: 当价格不变时,集成电路上可容纳的晶体管数量大约18-24个月翻一番,性能也将提升一倍. 汇编器: 负责将汇编语言翻译成机器语言目标程序的汇编程序 编译器: 负责将高 ...

  2. 计算机组成原理mgk换算,计算机组成原理十套卷(本科)计算题及答案

    四.计算题 1.已知x=10101100,y=11110011.求xVy=? xΛy=? x?y=? x?y=? 解:x V y=11111111 x Λy=10100000 x?y=01011111 ...

  3. 计算机课第一章答案,计算机应用基础第一章课后习题参考答案答案

    计算机应用基础第一章课后习题参考答案答案 第1章 课后习题 一.简答题: 1.电子计算机的发展大致可分哪几代?请说出各个时代电子计算机的特点. 1. 第一代电子计算机 第一代电子计算机是电子管计算机, ...

  4. 是一种以计算机为工具 应用决策科学,管理信息系统第十一章课后题答案1

    管理信息系统第十一章课后题答案 第十一章决策支持系统 11.1请为DSS做简要特征描述. 答:DSS是一种以计算机为工具,应用决策科学及有关学科的理论.方法与技术,以人机交互方式辅助决策者解决半结构化 ...

  5. C++面向对象的程序设计谭浩强 第六章课后题

    以往章节 C++面向对象的程序设计谭浩强 第二章课后题 C++面向对象的程序设计谭浩强 第三章课后题 C++面向对象的程序设计谭浩强 第四章课后题 C++面向对象的程序设计谭浩强 第五章课后题 C++ ...

  6. 计算机应用基础第三版答案,新版《计算机应用基础》各章课后习题-有答案.doc...

    新版<计算机应用基础>各章课后习题-有答案.doc PAGE 天天快乐 <计算机应用基础>各章课后习题 第1章 计算机基础知识 1.填空题 (l)存储器可分为只读存储器.随机存 ...

  7. 操作系统第一章课后题

    操作系统第一章课后题 1. 设计现代OS的主要目标是什么? 答:方便性,有效性,可扩充性和开放性 2. OS的作用可表现在哪几个方面? 答:(1) OS作为用户与计算机硬件系统之间的接口.(2) OS ...

  8. 学堂在线《工程伦理》第十一章课后习题及答案(仅供参考)

    学堂在线<工程伦理>第八章课后习题及答案(仅供参考) 学堂在线<工程伦理>第九章课后习题及答案(仅供参考) 学堂在线<工程伦理>第十章课后习题及答案(仅供参考) 学 ...

  9. 大连理工大学c语言第三次上机作业答案,大连理工大学软件学院C语言上机第五六章课后题...

    大连理工大学软件学院C语言上机第五六章课后题 五.1. #includeint main() { int a,b,c; float X,Y,Z; scanf("%d%d%d",&a ...

最新文章

  1. leetcode--Reorder List
  2. 疫情过后,对医疗AI行业带来的机遇
  3. bom表_MicroProfile 2.2 BOM导入支持
  4. Dbeaver连接MySQL
  5. 引入 ServletContextListener @Autowired null 解决办法
  6. C#Winform版获取Excel文件的内容
  7. HJ14 字符串排序
  8. cstring查找子字符串_动态规划6:两个字符串的最长连续公共子串
  9. 多线程小抄集(新编一)
  10. 简单的php代理 Simple PHP Proxy
  11. 一步步实现SDDC-嵌入式PSC的VC部署
  12. CentOS系统使用yum安装配置MariaDB数据库
  13. python 闯关之路二(模块的应用)
  14. 在团购网上空手赚钱项目,你敢做就敢赚!
  15. 7-4 人民币兑换 (10 分)C语言
  16. 一个小问题,解决提示无法启动程序,“....exe”。系统找不到指定文件
  17. 深入理解硬盘原理,Mysql索引底层数据结构与算法的来龙去脉(多图)
  18. 通过Dialer拨号盘输暗码启动某个apk
  19. 【高等数学】—基础求导公式、等价无穷小转换公式
  20. 阅读材料精选 From-to-Date:2019.04.04~2019.04.29

热门文章

  1. mysql srid_如何修改Postgresql中空间字段的SRID
  2. 用计算机计划任务设置程序,教您使用系统的任务计划让程序每天自动定时运行...
  3. 微信小程序:2022虎年新UI春节送祝福微信小程序
  4. 2023新年送祝福微信小程序源码下载 支持流量主
  5. Vmware Vsphere6.0 OVF模板管理
  6. Linux之 如何查看文件是`硬链接`还是`软链接`
  7. 不能为虚拟电脑***打开一个新任务
  8. maven的环境配置及解决mnv -version环境变量
  9. 模拟试题国家计算机二级考试:制作Flash相册
  10. 小程序如何帮助超市拓展线上销售渠道、拉新引流、增加销量?