文档介绍:
2012-2013第一学期《计算机组成原理》期末考核
职位
姓名
学号
在项目中担任的工作
成绩
组长
组员
组员
组员
一、项目1描述:
设CPU共有16根地址线,8根数据线, R/W作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:
ROM(2K×8位,4K×4位,8K×8位),
RAM(1K×4位,2K×8位,4K×8位)
及3 / 8译码器和其它门电路(门电路自定)
若最小4K地址为系统程序区,4096~16383地址范围为用户程序区,请确定选用的存储芯片的类型和数量,详细画出CPU和存储芯片的连接图。
若不想采用cache,要使访存速度提高到8倍,可采用什么措施,画图说明。
存储器中存储了以下C语言代码:
int x[2][256] ;
int i ;
int sum = 0 ;
for(i = 0 ; i < 256 ; i++) {
sum += x[0][i] * x[1][i] ;
}
程序说明如下:
sizeof(int) = 4
数组x从存储器地址0x0开始,按照行优先顺序存储
在下面每种情况中,高速缓存最开始时都是空的
唯一的存储器访问是对数组x的元素进行访问。其他所有的变量都存储在寄存器中
请计算下列情况中不命中率
情况1:假设高速缓存是1024字节,直接映射,高速缓存块大小为32字节。不命中率是多少?
情况2:如果我们把高速缓存的大小翻倍到2048字节,不命中率是多少?
情况3:现在假设高速缓存是1024字节,两路组相联,使用LRU替换策略,高速缓存块大小为32字节。不命中率是多少?
对于情况3,更大的高速缓存大小会帮助降低不命中率吗?为什么能或者不能?
对于情况3,更大的块大小会帮助降低不命中率吗?为什么能或者不能?
二、项目2描述:
请根据微程序控制器原理设计两条机器指令:ADD R1, R2及SUB R3, R1的微程序。
微指令的格式如下图所示:
其中各微命令的功能如下所述:
LDR1’:数据总线上的数据被加载到R1;
LDR2’:数据总线上的数据被加载到R2;
LDR3’:数据总线上的数据被加载到R3;
R1 -> X:R1里面的数据被加载到X寄存器;
R1 -> Y:R1里面的数据被加载到Y寄存器;
R2 -> X:R2里面的数据被加载到X寄存器;
R2 -> Y:R2里面的数据被加载到Y寄存器;
DR -> X:DR里面的数据被加载到X寄存器;
R3 -> Y:R3里面的数据被加载到Y寄存器;
X + Y:运算器做加法,X、Y寄存器存放被加数和加数
M:运算器传送数据
Y – X:运算器做减法,Y寄存器存放被减数,X寄存器存放减数
RD’:
内容来自淘豆网www.taodocs.com转载请标明出处.