计算机组成原理课后习题 您所在的位置:网站首页 假定在一个8位字长的计算机中 计算机组成原理课后习题

计算机组成原理课后习题

2023-12-18 02:32| 来源: 网络整理| 查看: 265

文章目录 第一章1.名词解释2.简答题 第二章第三章第四章第五章第七章第八章

第一章 1.名词解释

兼容性:兼容性是指硬件之间、软件之间或是软硬件组合系统之间的相互协调工作的程度。 指令集体系结构:指令集体系结构是机器语言程序所运行的计算机硬件和软件之间的一个“桥梁”,是软件和硬件之间接口的一个完整定义。 透明性:在计算机技术中,一个存在的事物或概念从某个角度看似乎不存在,也即,对实际存在的事务或概念感觉不到,则称为透明。 CPU执行时间:CPU 执行时间指 CPU 用于程序执行的时间,它又包括以下两部分: (1)用户 CPU 时间,指真正用于运行用户程序代码的时间; (2)系统 CPU 时间,指为了执行用户程序而需要 CPU 运行操作系统程序的时间。 CPI:CPI 表示执行一条指令所需的时钟周期数。 峰值MIPS:选取一组指令组合,使得得到的平均 CPI 最小,由此得到的 MIPS 就是峰值 MIPS(Peak MIPS)。 MFLOPS:它表示每秒所执行的浮点运算有多少百万次,它是基于所完成的操作次数而不是指令数来衡量的。

2.简答题

1.摩尔定律的主要内容是什么? 解:由于硅技术的不断改进,每 18 个月,集成度将翻一番,速度将提高一倍,而其价格将降低一半。 2.为什么说性能指标MIPS不能很好地反映计算机的性能? 解:MIPS 反映了机器执行定点指令的速度,但是,用 MIPS 来对不同的机器进行性能比较有时是不准确或不客观的。因为不同机器的指令集不同,而且指令的功能也不同,也许在机器 M1 上某一条指令的功 能,在机器 M2 上要用多条指令来完成,因此,同样的指令条数所完成的功能可能完全不同;另外,不 同机器的 CPI 和时钟周期也不同,因而同一条指令在不同机器上所用的时间也不同。

第二章

4.假定机器数为 8 位(1 位符号,7 位数值),写出下列各二进制数的原码表示。 +0.1001:0.1001000 –0.1001:1.1001000 +1.0:溢出 –1.0:溢出 +0.010100:0.0101000 –0.010100:1.0101000 +0:0.0000000 –0:1.0000000 6. 已知 [x]补,求 x (1)[x]补=1.1100111 x=-0.0011001 (2)[x]补=10000000 x=-10000000 (3)[x]补=0.1010010 x=+0.1010010 (4)[x]补=11010011 x=-00101101 7.假定一台 32 位字长的机器中带符号整数用补码表示,浮点数用 IEEE 754 标准表示,寄存器 R1 和 R2 的内容分别为 R1:00 00 10 8BH,R2:80 80 10 8BH。不同指令对寄存器进行不同的操作,因 而,不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器 R1 和 R2 的内容,则 R1 和 R2 中操作数的真值分别为多少? (1) 无符号数加法指令 R1:+108BH R2:+8080108BH (2) 带符号整数乘法指令 R1:+108BH R2:-7F7FEF75H (3) 单精度浮点数减法指令 R1:0000000000000000‭0001000010001011‬=+0.000000‭0001000010001011‬B2-126 R2:‭10000000100000000001000010001011‬=-0.0000000001000010001011B2-126 9.以下是一个 C 语言程序,用来计算一个数组 a 中每个元素的和。当参数 len 为 0 时,返回值应该是 0,但是在机器上执行时,却发生了存储器访问异常。请问这是什么原因造成的,并说明程序应该 如何修改。 1 float sum_elements(float a[], unsigned len) 2 { 3 int i; 4 float result = 0; 5 6 for (i = 0; i return ((int)word24; }

假设在一个32位机器上执行这些函数,该机器使用二进制补码表示带符号整数。无符号数采用逻辑移位,带符号整数采用算术移位。请填写表3.3并说明函数func1和func2的功能。 解: 在这里插入图片描述 功能:func1函数是将一个无符号数先左移24位,再右移24位,然后将它转换为带符号整数。func2函数是将一个无符号数先左移24位,再将它转换为带符号整数,然后再右移24位。 5.以下是两段C语言代码,函数arith()是直接用C语言写的,而optarith()是对arith()函数以某个确定的M和N编译生成的机器代码反编译生成的。根据optarith()推断函数arith()中M和N的值各是多少。

#define M #define N int arith(int x,int y) { int result=0; result=x*M+y/N; return result; } int optarith(int x,int y) { int t=x; x


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有