深入理解计算机系统配套练习卷
《深入理解计算机网络》习题集

深入理解计算机网络王达机械工业出版社2013年01月定价:89.00第1章数制与编码第一章补充内容1.4.5 定点数与浮点数计算机在处理实数时遇到了一个表示方法的难题,因为在计算机内存,或者叫寄存器中是没有专门的小数点位的,而在实际运算过程中却往往又是包括小数点的小数。
如果某种数据编码约定实数的小数点固定在某一个位上,则这个数称之为“定点数”(Fixed Point Number)。
相反,如果某种编码约定实数的小数点位置是可变的,则这个数称之为“浮点数”(Floating Point Number)。
但是要注意的是,在寄存器中小数点的位置是隐含的,没有专门的小数点位。
1.定点数对于定点数来说,如有一种编码是用4位来表示实数的,并且约定小数点在中间位置,则可以得出这种编码所能表示的最大整数部分和小数部分均为99(假设用十进制表示)。
显然定点数这样的约定限制了编码所能表示数的范围。
根据小数点的位置的不同,定点数又分为“定点整数”和“定点小数”两种。
如果小数点在有效数值部分最低位之后,这样的数称之为“定点整数”(纯整数),如1110101.(其实这里的小数点在寄存器中是没有标注的,是隐含的)。
但要注意,计算机中的机器数都是带符号的,所以最高位都是符号位,不是实际的数值位。
正因如此,这里的“1110101”所对应的数是-53,而不是+117。
如果小数点位置在符号位之后、有效数值部分最高位之前小数点在最高有效数值位之前(这里的小数点在寄存器中也是隐含的,没有小数点专门的位),这样的数称之“定点小数”(纯小数),如0.1010101(注意整数部分仅一位,而且是符号位,对应为01010101)。
当然还可以既有整数部分,又有小数部分的定点数(当然,此时不能直接说它们是“定点整数”,也不能说它们是“定点小数”)。
以人民币为例,我们日常经常看到的¥125.10,¥873.25之类的数就是一个定点数,约定小数点后面有两位小数,用来表示角与分。
计算机体系结构(深入理解计算机系统)样卷

19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
(b) The box below shows the format of a physical address. Indicate (by labeling the diagram) the fields that would be used to determine the following: PPO The physical page offset PPN The physical page number
(a) ( ) Brian Kernighan and Dennis Ritchie who worked in the Bell Laboratories describe the programming language C in their very famous books, which is known as “K&R”.
(f) ( ) Both threads and processes share their codes and data in Unix/Linux programs.
(g) ( ) The most commonly used hardware description languages are Verilog, having a syntax similar to the Ada language, and VHDL, having a syntax similar to C language.
1
2
3
TLB Tag PPN Valid
03 B 1 07 6 0 28 3 1 01 F 0 31 0 1 12 3 0 07 E 1 0B 1 1 2A A 0 11 1 0 1F 8 1 07 5 1 07 3 1 3F F 0 10 D 0 32 0 0
深入理解计算机系统习题答案

1
2
10 11 12 13 14
CHAPTER 1. SOLUTIONS TO HOMEWORK PROBLEMS
void show_double(double x) { show_bytes((byte_pointer) &x, sizeof(double)); } code/data/show-ans.c
Homework Problems. These are found at the end of each chapter. They vary in complexity from simple drills to multi-week labs and are designed for instructors to give as assignments or to use as recitation examples.
Problem 2.40 Solution: This exercise should be a straightforward variation on the existing code.
code/data/show-ans.c
1 2 3 4 5 6 7 8 9
void show_short(short int x) { show_bytes((byte_pointer) &x, sizeof(short int)); } void show_long(long int x) { show_bytes((byte_pointer) &x, sizeof(long)); }
code/data/show-ans.c
1 2 3 4 5 6 7 8
int is_little_endian(void) { /* MSB = 0, LSB = 1 */ int x = 1; /* Return MSB when big-endian, LSB when little-endian */ return (int) (* (char *) &x); } code/data/show-ans.c
深入理解计算机系统配套练习卷

《深入》题目S141000825 李永伟第一章题目1.1.1_25_1我们通常所说的“字节”由_____个二进制位构成。
A 2B 4C 6D 81.4.1_25_2微型计算机硬件系统中最核心的部位是__。
A 主板B. CPUC 内存处理器D I/O设备1.4.1_25_3CPU中有一个程序计数器(又称指令计数器)。
它用于存储__。
A.保存将要提取的下一条指令的地址B.保存当前CPU所要访问的内存单元地址C.暂时存放ALU运算结果的信息D.保存当前正在执行的一条指令1.5.0_25_4下列叙述中,正确的是A.CPU能直接读取硬盘上的数据B.CPU能直接存取内存储器C.CPU由存储器、运算器和控制器组成D.CPU主要用来存储程序和数据1.4.1_25_5“32位微型计算机”中的32指的是()。
A.微机型号B.内存容量C.运算速度D.机器字长第二章题目2.1.1_25_1求下列算是得值,结果用十六进制表示:0x503c + 64 =______A. 0x507cB.0x507bC. 0x506cD.0x506b2.1.1_25_2将十进制数167用十六进制表示的结果是______ A.0XB7B.0XA7C.0XB6D.0XA62.1.8_25_3位级运算:0x69 & 0x55 的结果是_______A.0X40B.0X41C.0X42D.0X432.1.9_25_4逻辑运算!!0x41的结果用十六进制表示为_____A.0X00B.0X41C.0X14D.0X012.1.10_25_5位移运算:对参数x = [10010101] ,则x>>4(算术右移)的结果是______A.[01010000]B.[00001001]C.[11111001]D.[10001001]2.2.7_25_6截断:假设一个4位数值(用十六进制数字0~F表示)截断到一个3位数值(用十六进制0~7表示),[1011]截断后的补码值是___ A.-3B.3C.5D.-52.4.2_25_7浮点表示:数字5用浮点表示时的小数字段frac的解释为描述小数值f,则f=______A.1/2B.1/4C.1/8D.1/162.4.2 _25-8数字5用浮点表示,则指数部分E=_____A.1B.2C.3D.42.4.2_25_9数字5用浮点表示,则指数部分位表示为___A.2^ (K-1)+1B. 2^K+1C. 2^ (K-1)D. 2^K2.4.5_25_10浮点运算:(3.14+1e10)-1e10 在计算机中的运算结果为A.3.14B.0C.1e10D.0.0第三章题目3.4.1_25_1计算Imm(E b ,E i ,s)这种寻址模式所表示的有效地址:A.Imm + R[E b]+R[E s] *sB. Imm + R[E b]+R[Es]C. Imm + R[E b]D. Imm +R[E s]3.4.1_25_2下面这种寻址方式属于_____M[R[E b]]A. 立即数寻址B. 寄存器寻址C. 绝对寻址D. 间接寻址3.4.2_25_3假设初始值:%dh=CD,%eax=98765432则执行下面一条指令后,%eax的值为多少?MOVB %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD3.4.2._25_4假设初始值:%dh=CD,%eax=98765432则执行下面一条指令后,%eax的值为多少?MOVSBL %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD3.4.2._25_5假设初始值:%dh=CD,%eax=98765432则执行下面一条指令后,%eax的值为多少?MOVZBL %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD3.5.1_25_6假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值Leal (%eax ,%ecx),%edxA. xB yC x + yD x –y3.5.1._25_7假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值Leal 9(%eax ,%ecx , 2),%edxA. x +y +2B 9*(x + y + 2)C 9 + x + y +2D 9 + x + 2y3.6.1_25_8条件码CF表示______A 零标志B 符号标志C 溢出标志D进位标志3.6.1_25_9条件码OF表示______A 零标志B 符号标志C 溢出标志D进位标志3.6.6_25_10在奔腾4上运行,当分支行为模式非常容易预测时,我们的代码需要大约16个时钟周期,而当模式是随机时,大约需要31个时钟周期,则预测错误处罚大约是多少?A. 25B. 30C. 35D. 40第五章题目5.1.0_25_1指针xp指向x,指针yp指向y,下面是一个交换两个值得过程:Viod swap (int *xp ,int *yp){*xp = *xp + *yp //x+y*yp = *xp - *yp //x+y-y=x*xp = *xp - *yp //x+y-x=y}考虑,当xp=yp时,xp处的值是多少A . xB. yC . 0D.不确定5.4.0_25_2考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:for( i = min(x,y) ;i< max(x,y); incr(&i,1))t +=square(i) ;假设x等于10,y等于100.指出该片段中4个函数min (),max(),incr(),square()每个被调用的次数一次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 905.4.0_25_3考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:for( i = max(x,y) -1;i >= min(x,y); incr(&i,-1)) t +=square(i) ;假设x等于10,y等于100.指出该片段中4个函数min (),max(),incr(),square()每个被调用的次数一次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 905.4.0_25_4考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:Int low = min(x,y);Int high = max(x,y);For(i= low;i<high;incr(&i,1)t +=square(i);假设x等于10,y等于100.指出该片段中4个函数min (),max(),incr(),square()每个被调用的次数依次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 905.2.0_25_5假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=2时,哪个版本最快?A.1B.2C.3D.无法比较5.2.0_25_6假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=5时,哪个版本最快?A.1B.2C.3D.无法比较5.2.0_25_7假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=10时,哪个版本最快?A.1B.2C.3D.无法比较5.7.3_25_8下面有一个函数:double poly( double a[] ,double x, int degree){long int i;double result = a[0];double xpwr =x;for(i=1 ; i<=degree; i++){result += a[i] *xpwr;xpwr =x *xpwr;}return result;}当degree=n,这段代码共执行多少次加法和多少次乘法?A.n nB.2n nC.n 2nD.2n 2n5.14.2_25_9一名司机运送一车货物从A地到B地,总距离为2500公里。
深入理解计算机系统配套练习卷

深入理解计算机系统配套练习卷Chapter 11.1.0 字母a的ASCII码为97,那么love中各字母ASCII码之和是()A、99B、520C、438D、3601.2.0_1 在编译过程中,hell.c经过汇编阶段后生成文件为()A、hell.iB、hell.sC、hell.oD、hell.exe1.2.0_2 在编译过程中,hell.c经过()阶段生成hell.s。
A、预处理B、编译C、汇编D、链接1.4.1 下面哪一项不是I/O设备A、鼠标B、显示器C、键盘D、《深入理解计算机系统》1.4.2 数据可以不通过处理器直接从磁盘到达主存吗?DMA又是什么?A、可以;直接存储器存取B、可以;动态存储器存取C、不可以;直接存储器存取D、不可以;动态存储器存取Chapter 22.1.1_1 二进制串11010110对应的十六进制数是()A、0xx0B、0xD6C、0XC6D、0Xd52.1.1_2 十六进制数0x77对应的十进制数为()A、77B、117C、109D、1192.1.3 对于32位机器,char * 的字节数为()A、1B、2C、4D、82.1.4_1 使用小端法的机器,数字0x123678的高位字节是()A、0x12B、0x21C、0x78D、0x872.1.4_2 从使用小端法的机器读入数字0x1234,存入使用大端法的机器,这时高位字节是()A、0x12B、0x21C、0x34D、0x432.1.8 char a=0xdb, 则~a 的值为()A、0xdbB、0xbdC、0x24D、0x422.1.8 int a=1, b=2, 经运算a^=b^=a^=b 后结果为()A、a=3, b=2B、a=1, b=2C、a=2, b=1D、不知道2.1.10 int a = 3, 则a<<3 的结果为()A、3B、24C、12D、482.2.1 unsigned char 的最小值为()A、128B、255C、-127D、02.2.3 对长度为4位的整数数据,-5对应的补码编码为()A、1011B、1101C、0101D、10102.3.2 对长度为4的整数数据,x=[1010], y=[1100],x+y补码加法的结果为()A、1010B、0110C、1100D、10110Chapter 33.2.2 命令unix> gcc -O1 -C code.c 所生成文件相当于经编译过程中()阶段后的结果。
深入理解计算机系统配套练习卷

《深入》题目李永伟第一章题目我们通常所说的“字节”由_____个二进制位构成。
A 2B 4C 6D 8微型计算机硬件系统中最核心的部位是__。
A 主板B. CPUC 内存处理器D I/O设备CPU中有一个程序计数器(又称指令计数器)。
它用于存储__。
A.保存将要提取的下一条指令的地址B.保存当前CPU所要访问的内存单元地址C.暂时存放ALU运算结果的信息D.保存当前正在执行的一条指令下列叙述中,正确的是A.CPU能直接读取硬盘上的数据B.CPU能直接存取内存储器C.CPU由存储器、运算器和控制器组成D.CPU主要用来存储程序和数据“32位微型计算机”中的32指的是()。
A.微机型号B.内存容量C.运算速度D.机器字长第二章题目求下列算是得值,结果用十六进制表示:0x503c + 64 =______A. 0x507cB.0x507bC. 0x506cD.0x506b将十进制数167用十六进制表示的结果是______ A.0XB7B.0XA7C.0XB6D.0XA6位级运算:0x69 & 0x55 的结果是_______A.0X40B.0X41C.0X42D.0X43逻辑运算!!0x41的结果用十六进制表示为_____A.0X00B.0X41C.0X14D.0X01位移运算:对参数则x>>4(算术右移)的结果是______A.[01010000]B.[00001001]C.D.截断:假设一个4位数值(用十六进制数字0~F表示)截断到一个3位数值(用十六进制0~7表示),[1011]截断后的补码值是___A.-3B.3C.5D.-5浮点表示:数字5用浮点表示时的小数字段frac的解释为描述小数值f,则f=______A.1/2B.1/4C.1/8D.1/162.4.2 _25-8数字5用浮点表示,则指数部分E=_____A.1B.2C.3D.4数字5用浮点表示,则指数部分位表示为___A.2^ (K-1)+1B. 2^K+1C. 2^ (K-1)D. 2^K浮点运算:(3.14+1e10)-1e10 在计算机中的运算结果为A.3.14B.0C.1e10D.0.0第三章题目计算Imm(E b ,E i ,s)这种寻址模式所表示的有效地址:A.Imm + R[E b]+R[E s] *sB. Imm + R[E b]+R[Es]C. Imm + R[E b]D. Imm +R[E s]下面这种寻址方式属于_____M[R[E b]]A. 立即数寻址B. 寄存器寻址C. 绝对寻址D. 间接寻址假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOV B %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOVSBL %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOVZBL %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值Leal (%eax ,%ecx),%edxA. xB yC x + yD x –y假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值Leal 9(%eax ,%ecx , 2),%edxA. x +y +2B 9*(x + y + 2)C 9 + x + y +2D 9 + x + 2y条件码CF表示______A 零标志B 符号标志C 溢出标志D进位标志条件码OF表示______A 零标志B 符号标志C 溢出标志D进位标志在奔腾4上运行,当分支行为模式非常容易预测时,我们的代码需要大约16个时钟周期,而当模式是随机时,大约需要31个时钟周期,则预测错误处罚大约是多少?A. 25B. 30C. 35D. 40第五章题目指针xp指向x,指针yp指向y,下面是一个交换两个值得过程:Viod swap (int *xp ,int *yp){*xp = *xp + *yp //x+y*yp = *xp - *yp //x+y-y=x*xp = *xp - *yp //x+y-x=y}考虑,当xp=yp时,xp处的值是多少A . xB. yC . 0D.不确定考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:for( i = min(x,y) ;i< max(x,y); incr(&i,1))t +=square(i) ;假设x等于10,y等于100.指出该片段中4个函数min (),max(),incr(),square()每个被调用的次数一次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:for( i = max(x,y) -1;i >= min(x,y); incr(&i,-1))t +=square(i) ;假设x等于10,y等于100.指出该片段中4个函数min (),max(),incr(),square()每个被调用的次数一次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:Int low = min(x,y);Int high = max(x,y);For(i= low;i<high;incr(&i,1)t +=square(i);假设x等于10,y等于100.指出该片段中4个函数min (),max(),incr(),square()每个被调用的次数依次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=2时,哪个版本最快?A.1B.2C.3D.无法比较假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=5时,哪个版本最快?A.1B.2C.3D.无法比较假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=10时,哪个版本最快?A.1B.2C.3D.无法比较下面有一个函数:double poly( double a[] ,double x, int degree){long int i;double result = a[0];double xpwr =x;for(i=1 ; i<=degree; i++){result += a[i] *xpwr;xpwr =x *xpwr;}return result;}当degree=n,这段代码共执行多少次加法和多少次乘法?A.n nB.2n nC.n 2nD.2n 2n一名司机运送一车货物从A地到B地,总距离为2500公里。
「《深入理解计算机网络》习题集」

第一章补充内容1.4.5定点数与浮点数计算机在处理实数时遇到了一个表示方法的难题,因为在计算机内存,或者叫寄存器中是没有专门的小数点位的,而在实际运算过程中却往往又是包括小数点的小数。
如果某种数据编码约定实数的小数点固定在某一个位上,则这个数称之为“定点数”(Fixed PointNumber)。
相反,如果某种编码约定实数的小数点位置是可变的,则这个数称之为“浮点数”(FloatingPoint Number)。
但是要注意的是,在寄存器中小数点的位置是隐含的,没有专门的小数点位。
1.定点数对于定点数来说,如有一种编码是用4位来表示实数的,并且约定小数点在中间位置,则可以得出这种编码所能表示的最大整数部分和小数部分均为99(假设用十进制表示)。
显然定点数这样的约定限制了编码所能表示数的范围。
根据小数点的位置的不同,定点数又分为“定点整数”和“定点小数”两种。
如果小数点在有效数值部分最低位之后,这样的数称之为“定点整数”(纯整数),如1110101.(其实这里的小数点在寄存器中是没有标注的,是隐含的)。
但要注意,计算机中的机器数都是带符号的,所以最高位都是符号位,不是实际的数值位。
正因如此,这里的“”所对应的数是-53,而不是+117。
如果小数点位置在符号位之后、有效数值部分最高位之前小数点在最高有效数值位之前(这里的小数点在寄存器中也是隐含的,没有小数点专门的位),这样的数称之“定点小数”(纯小数),如0.1010101(注意整数部分仅一位,而且是符号位,对应为)。
当然还可以既有整数部分,又有小数部分的定点数(当然,此时不能直接说它们是“定点整数”,也不能说它们是“定点小数”)。
以人民币为例,我们日常经常看到的¥125.10,¥873.25之类的数就是一个定点数,约定小数点后面有两位小数,用来表示角与分。
【经验之谈】这时可能就有读者问,没有标点符号位,那计算机怎么确定数值的大小?这就是前面说到的“约定”了。
深入理解计算机系统配套练习卷终审稿)

深入理解计算机系统配套练习卷文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-《深入》题目李永伟第一章题目我们通常所说的“字节”由_____个二进制位构成。
A 2B 4C 6D 8微型计算机硬件系统中最核心的部位是__。
A 主板B. CPUC 内存处理器D I/O设备CPU中有一个程序计数器(又称指令计数器)。
它用于存储__。
A.保存将要提取的下一条指令的地址B.保存当前CPU所要访问的内存单元地址C.暂时存放ALU运算结果的信息D.保存当前正在执行的一条指令下列叙述中,正确的是A.CPU能直接读取硬盘上的数据B.CPU能直接存取内存储器C.CPU由存储器、运算器和控制器组成D.CPU主要用来存储程序和数据“32位微型计算机”中的32指的是()。
A.微机型号B.内存容量C.运算速度D.机器字长第二章题目求下列算是得值,结果用十六进制表示:0x503c + 64 =______A. 0x507cB.0x507bC. 0x506cD.0x506b将十进制数167用十六进制表示的结果是______A.0XB7B.0XA7C.0XB6D.0XA6位级运算:0x69 & 0x55 的结果是_______A.0X40B.0X41C.0X42D.0X43逻辑运算!!0x41的结果用十六进制表示为_____A.0X00B.0X41C.0X14D.0X01位移运算:对参数则x>>4(算术右移)的结果是______A.[01010000]B.[00001001]C.D.截断:假设一个4位数值(用十六进制数字0~F表示)截断到一个3位数值(用十六进制0~7表示),[1011]截断后的补码值是___A.-3B.3C.5D.-5浮点表示:数字5用浮点表示时的小数字段frac的解释为描述小数值f,则f=______A.1/2B.1/4C.1/8D.1/162.4.2 _25-8数字5用浮点表示,则指数部分E=_____A.1B.2C.3D.4数字5用浮点表示,则指数部分位表示为___A .2^ (K-1)+1B. 2^K+1C. 2^ (K-1)D. 2^K浮点运算:(3.14+1e10)-1e10 在计算机中的运算结果为A .3.14B .0C .1e10D .0.0第三章题目计算Imm(E b ,E i ,s)这种寻址模式所表示的有效地址:A .Imm + R[E b ]+R[E s ] *sB. Imm + R[E b ]+R[Es]C. Imm + R[E b ]D. Imm +R[E s ]下面这种寻址方式属于_____M[R[E b ]]A. 立即数寻址B. 寄存器寻址C. 绝对寻址D. 间接寻址假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOVB %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOVSBL %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOVZBL %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值Leal (%eax ,%ecx),%edxA. xB yC x + yD x –y假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值Leal 9(%eax ,%ecx , 2),%edxA. x +y +2B 9*(x + y + 2)C 9 + x + y +2D 9 + x + 2y条件码CF表示______A 零标志B 符号标志C 溢出标志D进位标志条件码OF表示______A 零标志B 符号标志C 溢出标志D进位标志在奔腾4上运行,当分支行为模式非常容易预测时,我们的代码需要大约16个时钟周期,而当模式是随机时,大约需要31个时钟周期,则预测错误处罚大约是多少?A. 25B. 30C. 35D. 40第五章题目指针xp指向x,指针yp指向y,下面是一个交换两个值得过程:Viod swap (int *xp ,int *yp){*xp = *xp + *yp //x+y*yp = *xp - *yp //x+y-y=x*xp = *xp - *yp //x+y-x=y}考虑,当xp=yp时,xp处的值是多少A . xB. yC . 0D.不确定考虑下面函数:int min( int x , int y ) { return x < y x : y;}int max( int x , int y ){ return x < y y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:for( i = min(x,y) ;i< max(x,y); incr(&i,1))t +=square(i) ;假设x等于10,y等于100.指出该片段中4个函数 min (),max(),incr(),square()每个被调用的次数一次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90考虑下面函数:int min( int x , int y ) { return x < y x : y;}int max( int x , int y ){ return x < y y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:for( i = max(x,y) -1;i >= min(x,y); incr(&i,-1))t +=square(i) ;假设x等于10,y等于100.指出该片段中4个函数 min (),max(),incr(),square()每个被调用的次数一次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90考虑下面函数:int min( int x , int y ) { return x < y x : y;}int max( int x , int y ){ return x < y y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:Int low = min(x,y);Int high = max(x,y);For(i= low;i<high;incr(&i,1)t +=square(i);假设x等于10,y等于100.指出该片段中4个函数 min (),max(),incr(),square()每个被调用的次数依次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=2时,哪个版本最快?A.1B.2C.3D.无法比较假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=5时,哪个版本最快?A.1B.2C.3D.无法比较假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+1.25n问题是当n=10时,哪个版本最快?A.1B.2C.3D.无法比较下面有一个函数:double poly( double a[] ,double x, int degree){long int i;double result = a[0];double xpwr =x;for(i=1 ; i<=degree; i++){result += a[i] *xpwr;xpwr =x *xpwr;}return result;}当degree=n,这段代码共执行多少次加法和多少次乘法?A.n nB.2n nC.n 2nD.2n 2n一名司机运送一车货物从A地到B地,总距离为2500公里。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《深入》题目李永伟第一章题目我们通常所说的“字节”由_____个二进制位构成。
A 2B 4C 6D 8微型计算机硬件系统中最核心的部位是__。
A 主板B. CPUC 内存处理器D I/O设备CPU中有一个程序计数器(又称指令计数器)。
它用于存储__。
A.保存将要提取的下一条指令的地址B.保存当前CPU所要访问的内存单元地址C.暂时存放ALU运算结果的信息D.保存当前正在执行的一条指令下列叙述中,正确的是A.CPU能直接读取硬盘上的数据B.CPU能直接存取内存储器C.CPU由存储器、运算器和控制器组成D.CPU主要用来存储程序和数据“32位微型计算机”中的32指的是()。
A.微机型号B.内存容量C.运算速度D.机器字长第二章题目求下列算是得值,结果用十六进制表示:0x503c + 64 =______A. 0x507cB.0x507bC. 0x506cD.0x506b将十进制数167用十六进制表示的结果是______ A.0XB7B.0XA7C.0XB6D.0XA6位级运算:0x69 & 0x55 的结果是_______A.0X40B.0X41C.0X42D.0X43逻辑运算!!0x41的结果用十六进制表示为_____A.0X00B.0X41C.0X14D.0X01位移运算:对参数则x>>4(算术右移)的结果是______A.[01010000]B.[00001001]C.D.截断:假设一个4位数值(用十六进制数字0~F表示)截断到一个3位数值(用十六进制0~7表示),[1011]截断后的补码值是___A.-3B.3C.5D.-5浮点表示:数字5用浮点表示时的小数字段frac的解释为描述小数值f,则f=______24816_25-8数字5用浮点表示,则指数部分E=_____数字5用浮点表示,则指数部分位表示为___A.2^ (K-1)+1B. 2^K+1C. 2^ (K-1)D. 2^K浮点运算:(+1e10)-1e10 在计算机中的运算结果为A.B.0C.1e10D.第三章题目计算Imm(E b ,E i ,s)这种寻址模式所表示的有效地址:A.Imm + R[E b]+R[E s] *sB. Imm + R[E b]+R[Es]C. Imm + R[E b]D. Imm +R[E s]下面这种寻址方式属于_____M[R[E b]]A. 立即数寻址B. 寄存器寻址C. 绝对寻址D. 间接寻址假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOV B %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOVSBL %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设初始值:%dh=CD,则执行下面一条指令后,%eax的值为多少?MOVZBL %DH ,%ALA. %eax= 987654CDB. %eax= CD765432C %eax= FFFFFFCDD. %eax= 000000CD假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值Leal (%eax ,%ecx),%edxA. xB yC x + yD x –y假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值Leal 9(%eax ,%ecx , 2),%edxA. x +y +2B 9*(x + y + 2)C 9 + x + y +2D 9 + x + 2y条件码CF表示______A 零标志B 符号标志C 溢出标志D进位标志条件码OF表示______A 零标志B 符号标志C 溢出标志D进位标志在奔腾4上运行,当分支行为模式非常容易预测时,我们的代码需要大约16个时钟周期,而当模式是随机时,大约需要31个时钟周期,则预测错误处罚大约是多少?A. 25B. 30C. 35D. 40第五章题目指针xp指向x,指针yp指向y,下面是一个交换两个值得过程:Viod swap (int *xp ,int *yp){*xp = *xp + *yp xB. yC . 0D.不确定考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:for( i = min(x,y) ;i< max(x,y); incr(&i,1))t +=square(i) ;假设x等于10,y等于100.指出该片段中4个函数min (),max(),incr(),square()每个被调用的次数一次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:for( i = max(x,y) -1;i >= min(x,y); incr(&i,-1))t +=square(i) ;假设x等于10,y等于100.指出该片段中4个函数min(),max(),incr(),square()每个被调用的次数一次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90考虑下面函数:int min( int x , int y ) { return x < y ? x : y;}int max( int x , int y ){ return x < y ? y : x; }viod incr (int *xp ,int v) { *xp += v;}int square( int x ) { return x *x; }下面一个片段调用这些函数:Int low = min(x,y);Int high = max(x,y);For(i= low;i<high;incr(&i,1)t +=square(i);假设x等于10,y等于100.指出该片段中4个函数min (),max(),incr(),square()每个被调用的次数依次为A.91 1 90 90B.1 91 90 90C.1 1 90 90D.90 1 90 90假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+问题是当n=2时,哪个版本最快?A.1B.2C.3D.无法比较假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+问题是当n=5时,哪个版本最快?A.1B.2C.3D.无法比较假设某个函数有多个变种,这些变种保持函数的行为,又具有不同的性能特性,对于其中的三个变种,我们发现运行时间(以时钟周期为单位)可以用下面的函数近似的估计版本1:60+35n版本2:136+4n版本3:157+问题是当n=10时,哪个版本最快?A.1B.2C.3D.无法比较下面有一个函数:double poly( double a[] ,double x, int degree){long int i;double result = a[0];double xpwr =x;for(i=1 ; i<=degree; i++){result += a[i] *xpwr;xpwr =x *xpwr;}return result;}当degree=n,这段代码共执行多少次加法和多少次乘法?A.n nB.2n nC.n 2nD.2n 2n一名司机运送一车货物从A地到B地,总距离为2500公里。
估计在速度限制以内平均时速为100公里,整个行程需要25个小时。
有一天,一段长度为1500公里的路段取消了限速,司机可以在搞路段开到每小时150公里。
则他的这次行程的加速比是多少?A.B.C.D.公司的四场部门许诺你的客户下一版软件性能会提高一倍。
分配给你的任务是实行这个承诺。
你确定只能改进系统60%的部分,为了达到整体性能目标,你需要将这个部分提高到多少(也就是k的值应为多少?提示:Amdahl定律)给定S=2和@=A.B.C.D.第六章题目6_25_1有这样一个磁盘:有五个盘片,每个扇区512字节,每个面20000条磁道,每条磁道平均300个扇区,则这个磁盘容量是多少(GB)?A.B.C.D.6_25_2有这样一个磁盘:有2个盘片,每个扇区512字节,10000个磁道,每条磁道平均400个扇区,则这个磁盘容量是多少(GB)?A.B.C.D.6_25_3计算下面这个磁盘上一个扇区的访问时间,以ms为单位:旋转速率:15000RPM,T avg seek=8ms每条磁道的平均扇区数位500A.8B.9C.10D.116_25_4计算机工作中只读不写的存储器是( )。
(A) DRAM(B) ROM(C) SRAM(D) EEPROM6_25_5下面关于主存储器(也称为内存)的叙述中,不正确的是( )。
(A) 当前正在执行的指令与数据都必须存放在主存储器内,否则处理器不能进行处理(B) 存储器的读、写操作,一次仅读出或写入一个字节(C) 字节是主存储器中信息的基本编址单位(D) 从程序设计的角度来看,cache(高速缓存)也是主存储器6_25_6CPU对存储器或I/O端口完成一次读/写操作所需的时间称为一个( )周期。
(A) 指令(B) 总线(C) 时钟(D) 读写6_25_7主存和CPU之间增加高速缓存的目的是( )。