计算机考研 | 2013年 | 计算机组成原理真题

【计算机组成原理2013年真题43题-9分】

某32位计算机,CPU主频为800MHz,Cache命中时的CPI为4,Cache 块大小为32字节;主存采用8体交叉存储方式,每个体的存储字长为32位、存储周期为40 ns;存储器总线宽度为32位,总线时钟频率为200 MHz,支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。每次突发传送32字节,传送地址或32位数据均需要一个总线时钟周期。请回答下列问题,要求给出理由或计算过程。

(1)CPU和总线的时钟周期各为多少?总线的带宽(即最大数据传输率)为多少?

(2)Cache缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?

(3)存储器总线完成一次读突发传送总线事务所需的时间是多少?

(4)若程序BP执行过程中,共执行了100 条指令,平均每条指令需进行1.2次访存,Cache缺失率为5%,不考虑替换等开销,则BP的CPU执行时间是多少?

【第一步:信息提取】

32位计算机:运算是32位。

CPU主频为800MHz:1.25ns 时钟周期(1/800M)

Cache命中时的CPI为4:完成一条指令需要4个时钟周期

Cache 块大小为32字节:占5位

主存采用8体交叉存储方式,每个体的存储字长为32位、存储周期为40 ns:

存储器总线宽度为32位,总线时钟频率为200 MHz:4ns时钟周期

每次突发传送32字节,传送地址或32位数据均需要一个总线时钟周期

【第二步:具体解答】

第一小题:

(1)CPU和总线的时钟周期各为多少?

CPU的时钟周期是主频的倒数,即1/800MHz= 1.25ns

(2)总线的带宽(即最大数据传输率)为多少?

总线的时钟周期是总线频率的倒数,即1/200MHz= 5ns。

总线宽度为32位,故总线带宽为4B×200MHz= 800MBps 或4B/5ns = 800MBps。

第二小题:

(1)Cache缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?

Cache块大小是32B,因此Cache缺失时需要一个读突发传送总线事务读取一个主存块。

第三小题:

(1)存储器总线完成一次读突发传送总线事务所需的时间是多少?

一次读突发传送总线事务包括一次地址传送和32B数据传送:用1个总线时钟周期传输地址

每隔40ns/8 = 5ns 启动一个体工作(各进行1次存取),第一个体读数据花费40ns,之后数据存取与数据传输重叠:用8个总线时钟周期传输数据。读突发传送总线事务时间: 5ns +40ns +8×5ns = 85ns.

第四小题:

(1)若程序BP执行过程中,共执行了100 条指令,平均每条指令需进行1.2次访存,Cache缺失率为5%,不考虑替换等开销,则BP的CPU执行时间是多少?

BP的CPU执行时间包括Cache命中时的指令执行时间和Cache缺失时带来的额外开销。

命中时的指令执行时间:100×4×1.25ns =500ns。

指令执行过程中Cache缺失时的额外开销:1.2x100×5%×85ns =510ns。

BP的CPU执行时间:500ns + 510ns = 1010ns。

【计算机组成原理2013年真题44题-14分】

某计算机采用16位定长指令字格式,其CPU中有一个标志寄存器,其中包含进位/借位标志CF、零标志ZF和符号标志NF。假定为该机设计了条件转移指令,其格式如下:

在这里插入图片描述

其中,00000为操作码OP;C、Z和N分别为CF、ZF 和NF的对应检测位,某检测位为1时表示需检测对应标志,需检测的标志位中只要有一个为Ⅰ就转移,否则不转移,例如,若C=1,Z=0,N=1,则需检测CF和 NF 的值,当CF=1或NF=1时发生转移;OFFSET是相对偏移量,用补码表示。转移执行时,转移目标地址为(PC)+2+2×OFFSET;顺序执行时,下条指令地址为(PC)+2。请回答下列问题。

(1)该计算机存储器按字节编址还是按字编址?该条件转移指令向后(反向)最多可跳转多少条指令?

(2)某条件转移指令的地址为200CH,指令内容如下图所示,若该指令执行时CF=0,ZF=0,NF=1,则该指令执行后PC的值是多少?若该指令执行时CF=1,ZF=0,NF=0,则该指令执行后PC的值又是多少?请给出计算过程。

在这里插入图片描述

(3)实现“无符号数比较小于等于时转移”功能的指令中,c、Z和N应各是什么?

(4)以下是该指令对应的数据通路示意图,要求给出图中部件①-③的名称或功能说明。

在这里插入图片描述

【第一步:信息提取】

转移目标地址:(PC)+2+2×OFFSET:为什么乘2?因为16位定长指令字格式

【第二步:具体解答】

第一小题:

(1)该计算机存储器按字节编址还是按字编址?

因为指令长度为16位,且下条指令地址为(PC)+2,故编址单位是字节。

(2)该条件转移指令向后(反向)最多可跳转多少条指令?

偏移量OFFSET为8位补码,范围为-128~127,故相对于当前条件转移指令,向后最多可跳转127条指令。

第二小题:

(1)某条件转移指令的地址为200CH,指令内容如下图所示,若该指令执行时CF=0,ZF=0,NF=1,则该指令执行后PC的值是多少?

指令中C=0,Z=1,N=1,故应根据ZF和NF的值来判断是否转移。

当CF=0,ZF=0,NF=1时,需转移。已知指令中偏移量为1110 0011B=E3H,符号扩展后为FFE3 H,左移一位(乘2)后为FFC6H,故PC的值(即转移目标地址)为200CH+2+FFC6H =1FD4H。

(2)若该指令执行时CF=1,ZF=0,NF=0,则该指令执行后PC的值又是多少?请给出计算过程。

在这里插入图片描述

当CF = 1,ZF=0,NF=0时不转移。PC的值为200CH +2=200EH。

第三小题:

(1)实现“无符号数比较小于等于时转移”功能的指令中,c、Z和N应各是什么?

指令中的C、Z和N应分别设置为C=z=1,N=0,进行数之间的大小比较通常是对两个数进行减法,而因为是无符号数比较小于等于时转移,即两个数相减结果为0或者负数都应该转移,若是0,则ZF标志应当为1,所以是负数,则借位标志应该为1,而无符号数并不涉及符号标志NF。

第四小题:

(1)以下是该指令对应的数据通路示意图,要求给出图中部件①-③的名称或功能说明。

在这里插入图片描述

部件①用于存放当前指令,不难得出为指令寄存器;多路选择器根据符号标志C/Z/N来决定下一条指令的地址是PC+2还是PC+2+2xOFFSET,故多路选择器左边线上的结果应该是PC+2+ 2×OFFSET。根据运算的先后顺序以及与PC+2的连接

部件②:移位寄存器(用于左移一位),用于左移一位实现乘2,为移位寄存器。

部件③:加法器(地址相加)。用于PC+2和2×OFFSET相加,为加法器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_之桐_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值