第五章-计算机组成原理
- 格式:doc
- 大小:915.00 KB
- 文档页数:6
第5章习题参考答案1.请在括号内填入适当答案;在CPU 中:1保存当前正在执行的指令的寄存器是 IR ; 2保存当前正在执行的指令地址的寄存器是 AR3算术逻辑运算结果通常放在 DR 和 通用寄存器 ;2.参见图的数据通路;画出存数指令“STO Rl,R2”的指令周期流程图,其含义是将寄存器Rl 的内容传送至R2为地址的主存单元中;标出各微操作信号序列; 解:STO R1, R2的指令流程图及微操作信号序列如下:3.参见图的数据通路,画出取数指令“LAD R3,R0”的指令周期流程图,其含义是将R3为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列; 解:LAD R3, R0的指令流程图及为操作信号序列如下:4.假设主脉冲源频率为10MHz,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图; 解: 5.如果在一个CPU 周期中要产生3个节拍脉冲;T l =200ns,T 2=400ns,T 3=200ns,试画出时序产生器逻辑图;解:取节拍脉冲T l 、T 2、T 3的宽度为时钟周期或者是时钟周期的倍数即可;所以取时钟源提供的时钟周期为200ns,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T 3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C 4外,还需要3个触发器——C l 、C 2、C 3;并令211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下:6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的;已知微指令长度为32位,请估算控制存储器容量; 解:80条指令,平均每条指令由4条微指令组成,其中有一条公用微指令,所以总微指令条数为80 4-1+1=241条微指令,每条微指令32位,所以控存容量为:24132位7.某ALU 器件是用模式控制码M S 3 S 2 S 1 C 来控制执行不同的算术运算和逻辑操作;下表列出各条指令所要求的模式控制码,其中y 为二进制变量,φ为0或l 任选;2,S l ,C 的逻辑表达式;由表可列如下逻辑方程 M=GS 3=H+D+FS 2=A+B+D+H+E+F+G S 1=A+B+F+G C=H+D+Ey+Fy8.某机有8条微指令I1—I8,每条微指令所包含的微命令控制信号如下表所示;a—j分别对应10种不同性质的微命令信号;假设一条微指令的控制字段仅限为8位,请安10位控制字段,现控制字段仅限于8位,那么,为了压缩控制字段的长度,必须设法把一个微指令周期中的互斥性微命令组合在一个小组中,进行分组译码;经分析,e,f,h和b,i,j、或d,i,j和e,f,h、或g,b,j和i,f,h均是不可能同时出现的互斥信号,所以可将其通过2:4译码后输出三个微命令信号00表示该组所有的微命令均无效,而其余四个微命令信号用直接表示方式;因此可用下面的格式安排控制字段;e f h b i je f h d i jf h i bg j9μA8 = P1·IR6·T4μA7 = P1·IR5·T4μA6 = P2·C·T4其中μA8—μA6为微地址寄存器相应位,P1和P2为判别标志,C为进位标志,IR5和IR6为指令寄存器的相应位,T4为时钟周期信号;说明上述逻辑表达式的含义,画出微地址转移逻辑图;解:μA5=P3·IR5·T4μA4=P3·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4μA1=P1·IR1·T4μA0=P1·IR·T4+P2·C·T4用触发器强置端低有效修改,前5个表达式用“与非”门实现,最后1个用“与或非”门实现μA2、μA1、μA触发器的微地址转移逻辑图如下:其他略10.某计算机有如下部件,ALU,移位器,主存M,主存数据寄存器MDR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0R3,暂存器C和D;1请将各逻辑部件组成一个数据通路,并标明数据流动方向;2画出“ADD R1,R2”指令的指令周期流程图;解:1 设该系统为单总线结构,暂存器C和D用于ALU的输入端数据暂存,移位器作为ALU输出端的缓冲器,可对ALU的运算结果进行附加操作,则数据通路可设计如下:2 根据上面的数据通路,可画出“ADD R1,R2”设R1为目的寄存器的指令周期流程图如下:11.已知某机采用微程序控制方式,控存容量为51248位;微程序可在整个控存中实现转移,控制微程序转移的条件共4个,微指令采用水平型格式,后继微指令地址采用断定方式;请问;1微指令的三个字段分别应为多少位2画出对应这种微指令格式的微程序控制器逻辑框图;解:1 因为容量为51248位,所以下址字段需用9位,控制微程序转移的条件有4个,所以判别测试字段需4位或3位译码,因此操作控制字段的位数48-9-4=35位或48-9-3=36位2微程序控制器逻辑框图参见教材图12.今有4级流水线,分别完成取指、指令译码并取数、运算、送结果四步操作;今假设完成各步 操作的时间依次为100ns,100ns,80ns,50ns;请问; 1流水线的操作周期应设计为多少2若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第2条指令要推迟多少时间进行3如果在硬件设计上加以改进,至少需推迟多少时间 答:1 流水操作周期为max100,100,80,50=100ns2若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么在第1条指令“送结果”步骤完成后,第2条指令的“取数”步骤才能开始,也就是说,第2条指令要推迟两个操作周期,即200ns 才能进行;3 如果在硬件设计上加以改进,采用定向传送的技术,则只要第1条指令完成“运算”的步骤,第2条指令就可以“取数”了,因此至少需推迟100ns;13.指令流水线有取指IF 、译码ID 、执行EX 、访存MEM 、写回寄存器堆WB 五个过程段,共有20条指令连续输入此流水线;1画出流水处理的时空图,假设时钟周期为100ns;2求流水线的实际吞吐率单位时间里执行完毕的指令数; 3求流水线的加速比; 解:1 流水处理的空图如下,其中每个流水操作周期为100ns :空间S I 1 I 2 I 15 I 16 I 17 I 18 I 19 I 20WB MEM EXIDIF123456192021222324时间T2 流水线的实际吞吐量:执行20条指令共用5+119=24个流水周期,共2400ns,所以实际吞吐率为:3 流水线的加速比为:设流水线操作周期为τ,则n指令串行经过k个过程段的时间为nkτ;而n条指令经过可并行的k段流水线时所需的时间为k+n-1τ;故20条指令经过5个过程段的加速比为:14.用时空图法证明流水计算机比非流水计算机具有更高的吞吐率;解:设流水计算机的指令流水线分为4个过程段:IF、ID、EX、WB,则流水计算机的时空图如下:空间S I1I2I3I4I5WBEXIDIF12345678时间T 非流水计算机的时空图:空间S I1I2WB EX ID IF1 2 3 4 5 6 7 8 时间T由图中可以看出,同样的8个操作周期内,流水计算机执行完了5条指令,而非流水计算机只执行完了2条指令;由此,可看出流水计算机比非流水计算机具有更高的吞吐率; 15.用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率; 证明:设流水计算机具有k 级流水线,每个操作周期的时间为,执行n 条指令的时间为:()τ⨯-+=1n k T ;吞吐率为:()τ⨯-+=11n k nH而非流水计算机,执行n 条指令的时间为:τ⨯⨯=k n T ;吞吐率为:τ⨯⨯=k n nH 2当n=1时,21H H =;当n>1时,21H H >,即:流水计算机具有更高的吞吐率;16.判断以下三组指令中各存在哪种类型的数据相关 1 I 1 LAD R1,A ; MA →R1,MA 是存储器单元 I 2 ADD R2,Rl ; R2+R1→R2 2 I 1 ADD R3,R4 ; R3+R4→R3 I 2 MUL R4,R5 ; R4R5→R43 I 1 LAD R6,B ; MB →R6,MB 是存储器单元I 2 MUL R6,R7 ; R6 R7→R6 解:1 I 1的运算结果应该先写入R 1,然后再在I 2中读取R 1的内容作为操作数,所以是发生RAW “写后读”相关2 WAR3 RAW 和WAW 两种相关17.参考图所示的超标量流水线结构模型,现有如下6条指令序列: I 1 LAD R1,B ; MB →R1,MB 是存储器单元 I 2 SUB R2,Rl ; R2-R1→R2 I 3 MUL R3,R4 ; R3R4→R3 I 4 ADD R4,R5 ; R4+R5→R4I 5 LAD R6,A ; MA →R6,MA 是存储器单元 I 6 ADD R6,R7 ; R6+R7→R6请画出:1按序发射按序完成各段推进情况图; 2按序发射按序完成的流水线时空图; 解:(1) 按序发射按序完成各段推进情况图如下仍设F 、D 段要求成对输入;F 、D 、W 段只需1个周期;加需要2个周期;乘需要3个周期;存/取数需要1个周期;执行部件内部有定向传送,结果生成即可使用:取指段译码段执行段取/存加法器乘法器写回段1234567891011时钟I1I2超标量流水线的时空图。
计算机组成原理第五章-有关cache的计算计算机组成原理第五章主要讲述了计算机中的缓存(Cache)技术。
缓存是一种用于提高计算机性能的关键技术,它位于CPU和内存之间,用于存储最近访问的数据和指令。
当CPU 需要访问某个数据或指令时,首先会检查缓存中是否存在该数据或指令,如果存在,则直接从缓存中获取,否则从内存中获取并存入缓存。
有关cache的计算主要包括以下几个方面:1. 命中率(Hit Rate):命中率是指CPU在访问数据时,能够直接从缓存中找到所需数据的概率。
命中率越高,说明缓存的使用效果越好。
计算公式为:命中率= 命中次数/ (命中次数+ 未命中次数)2. 缺失率(Miss Rate):缺失率是指CPU在访问数据时,无法从缓存中找到所需数据的概率。
缺失率越低,说明缓存的性能越好。
计算公式为:缺失率= 未命中次数/ (命中次数+ 未命中次数)3. 平均访问时间(Average Access Time):平均访问时间是指CPU访问数据所需的总时间除以访问次数。
平均访问时间越短,说明缓存的性能越好。
计算公式为:平均访问时间= (命中时间* 命中次数+ 缺失时间* 缺失次数) / (命中次数+ 缺失次数)4. 缓存容量(Cache Capacity):缓存容量是指缓存中可以存储的数据量。
缓存容量越大,能够存储的数据越多,从而提高缓存的命中率。
但是,缓存容量的增加也会增加成本和功耗。
5. 缓存行大小(Cache Line Size):缓存行大小是指每次从内存中读取的数据量。
缓存行大小越大,每次读取的数据越多,从而提高缓存的命中率。
但是,过大的缓存行大小会增加内存带宽的需求。
6. 替换策略(Replacement Policy):替换策略是指在缓存已满的情况下,如何选择要被替换的数据。
常见的替换策略有随机替换、先进先出(FIFO)替换、最近最少使用(LRU)替换等。
不同的替换策略会影响缓存的性能和命中率。
知识点1、输入输出系统的组成:I/O软件(I/O指令、通道指令)、I/O硬件2、I/O设备与主机的联系方式:I/O设备编址方式、设备寻址、传送方式、联络方式、I/O 设备与主机的连接方式(1)I/O设备编址方式:①统一编址:将I/O地址看做是存储器地址的一部分,用取数、存数指令②不统一编址:I/O地址和存储器地址是分开的,所有I/O设备的访问必须有专门的I/O指令(2)设备寻址可由I/O指令的设备码字段直接指出该设备的设备号。
通过接口电路中的设备选择电路,便可选中要交换信息的设备。
(3)传送方式:并行、串行(4)联络方式:①立即响应方式:用于一些工作速度十分缓慢的I/O设备②异步工作采用应答信号联络:用于I/O设备与主机工作速度不匹配时。
③同步工作采用同步时标联络:要求I/O设备与CPU工作的速度完全同步。
3、I/O设备与主机的连接方式(1)辐射式连接方式:要求每台I/O设备都有一套控制线路和一组信号线,因此所用器件和连线较多,对I/O设备的增删比较困难(2)总线连接方式:便于增删设备,被大多数现代计算机所采用4、I/O设备与主机信息传送的控制方式(1)程序查询方式:是由CPU通过程序不断查询I/O设为被是否已经做好准备,从而控制I/O设备与主机交换信息。
要求I/O接口内设置一个能反映I/O设备是否准备就绪的状态标记,CPU通过对此标记的检测,可得知I/O设备的准备情况,从而终止了原程序的执行。
CPU反复查询的过程犹如就地“踏步”。
(串行)CPU工作效率不高。
(2)程序中断方式:CPU在启动I/O设备后,不查询设备是否已经准备就绪,继续执行自身程序,只是当I/O设备准备就绪并向CPU提出中断请求后才予以响应,大大提高了淳朴的工作效率。
CPU执行程序与I/O设备做好准备是同时进行的,CPU资源得到了充分的利用。
(3)DMA方式(直接存储器存取方式:主存与I/O设备之间有一条数据通路,交换信息是,无须调用中断服务程序。
【课后习题1、2、3、6、8、10、11】
1、CPU功能:指令控制、操作控制、时间控制、数据加工。
2、CPU中主要寄存器6种(名称、缩写、功能)
在CPU中至少要有六类寄存器:数据缓冲寄存器(DR)、指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、通用寄存器(R0~R3)、状态条件寄存器(PSW),并且根据需要,可以扩充其数目。
◆数据缓冲寄存器DR用来暂时存放ALU的运算结果或由数据存储器读出的一个数据字,或来自外部接
口的一个数据字。
◆指令寄存器IR用来保存从存储器中取出的当前正在执行的一条指令。
◆程序计数器PC确定下一条指令的地址,保证程序能够连续地执行下去。
◆数据地址寄存器AR用来保存当前CPU所访问的数据cache存储器(简称数存)单元的地址。
◆通用寄存器R0~R3的功能是:当算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。
◆状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。
3、概念【指令周期、CPU周期、机器周期、时钟周期】
指令周期:CPU从内存取出一条指令并执行完这条指令的时间总和。
由于指令功能的不同导致指令周期是不尽相同的。
(取指时间+执行指令时间)
CPU周期:又称机器周期,CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义。
时钟周期:通常称为节拍脉冲或T周期。
一个CPU周期包含若干个时钟周期T。
4.方框图语言表示指令周期。
例题1。
知识点:5.2.7 用方框图语言表示的指令周期
方框代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。
菱形通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期,
而不单独占用一个CPU周期。
公操作符号“~”,表示一条指令已执行完毕,转入公操作。
数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。
指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。
指令寄存器中操作码字段的输出就是指令译码器的输入。
操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
程序计数器用来确定下一条指令的地址。
在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC;当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址;当遇到转移指令如JMP指令时,下一条从内存取出的指令将由转移指令来规定,因此程序计数器的结构应当是具有寄存信息和计数两种功能的结构。
地址寄存器用来保存当前CPU所访问的内存单元的地址。
累加寄存器AC通常简称为累加器,其功能是:当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU 提供一个工作区。
累加寄存器暂时存放ALU运算的结果信息。
显然,运算器中至少要有一个累加寄存器。
状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),运算结果为零标志(Z),运算结果为负标志(N)等等。
课本P139例题1
例1 图5.15所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W#W信号控制)它既存放指令又存放数据,AR为地址寄存器,DR为数据寄存器,ALU由加、减控制信号决定完成何种操作。
双总线结构机器的数据通路
加法和减法指令周期操作流程图
5.4微程序控制器基本思想
概念:
微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。
微操作执行部件接受微命令后所进行的操作(微操作在执行部件中是最基本的操作)
微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。
微程序:一系列微指令的有序集合。
相斥性微操作:不能在同时或不能在同一个CPU周期内并执行的微操作。
相容性微操作:在同时或在同一个CPU周期内可以并行执行的微操作。
5.4.4 微程序设计技术
微程序控制器的组成?
机器指令与微指令的关系?
微命令编码方式?
直接表示法、编码表示法、混合表示法
流水线过程中三种相关冲突:资源相关、数据相关、控制相关。
第八章:CPU对外围设备的管理方式:①程序查询方式、②程序中断方式、③DMA方式、④通道方式。
⑤外围处理机方式。