计算机体系结构(深入理解计算机系统)样卷

合集下载

计算机体系结构(深入理解计算机系统)样卷

计算机体系结构(深入理解计算机系统)样卷

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.1 什么是计算机体系结构?计算机体系结构是指计算机硬件和软件之间的关系,即计算机中各个组件之间的连接方式和组织结构。

它是计算机系统的基本结构,决定了计算机系统的性能、可靠性和可扩展性。

1.2 计算机体系结构的作用是什么?- 确定计算机系统的性能指标,如处理速度、存储容量、输入输出能力等。

- 建立了计算机硬件和软件之间的接口标准,使得不同厂商的计算机组件可以兼容互联。

- 提供了编程和开发的基础,使得软件开发人员可以根据体系结构设计程序。

- 为计算机系统的优化提供了依据,可以针对不同应用场景进行性能调优和资源分配。

题目二:计算机指令集的分类和特点2.1 计算机指令集的分类- 精简指令集(Reduced Instruction Set Computer,RISC):指令集的指令数量少、长度相同且操作简单,便于流水线执行。

- 复杂指令集(Complex Instruction Set Computer,CISC):指令集的指令数量多、长度不一且操作复杂,提供了更高层次的指令和功能。

2.2 计算机指令集的特点- 性能折中:RISC指令集追求指令简单高效,减少指令周期;CISC指令集追求完成更复杂的功能,减少指令数量。

- 硬件与软件的关系:RISC指令集更注重硬件设计,减少指令执行的硬件复杂度;CISC指令集更注重编译器的优化,减少指令编写的软件复杂度。

- 执行流水线:RISC指令集易于流水线操作,指令之间无数据依赖,提高指令执行速度;CISC指令集指令复杂度高,难以流水线操作,容易产生数据依赖和冲突。

题目三:冯·诺伊曼体系结构和哈佛体系结构3.1 冯·诺伊曼体系结构(Von Neumann Architecture)冯·诺伊曼体系结构由冯·诺伊曼于1945年提出,是现代计算机体系结构的基础。

其特点如下:- 存储程序:指令和数据都存储在同一存储器中,通过地址寻址来访问。

深入理解计算机系统配套练习卷终审稿)

深入理解计算机系统配套练习卷终审稿)

深入理解计算机系统配套练习卷文稿归稿存档编号:[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公里。

(完整版)计算机系统结构考试题目及参考答案.doc

(完整版)计算机系统结构考试题目及参考答案.doc

(完整版)计算机系统结构考试题目及参考答案.doc一:名词解释1:虚拟机:由软件实现的机器。

2:CPI :是衡量CPU 执行指令效率的重要标志,指执行每条指令所需的平均时钟周期数。

3:摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18 个月便会增加一倍,性能也将提升一倍。

4:并发性:指两个或多个事件在同一时间间隔内发生的并行性。

5:程序局部性原理:是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。

相应地,执行所访问的存储空间也局限于某个内存区域。

局部性原理又表现为:时间局部性和空间局部性。

6: CISC/RISC : CISC :即复杂指令系统计算机,指在系统中增加更多和复杂的指令,来提高操作系统效率的计算机。

RISC :即精简指令系统计算机,指在系统中选取使用一些频率最高的、长度固定的、格式种类少的简单指令的计算机。

7:计算机系统结构:指对机器语言计算机的软、硬件功能的分配和对界面的定义。

8:系列机:指先设计好一种系统结构,而后就按这种系统结构设计它的系统软件,按器件状况和硬件技术研究这种结构的各种实现方法,并按照速度、价格等不同要求,分别提供不同速度、不同配置的各档机器。

9:模拟:用机器语言程序解释实现程序移植的方法。

10:仿真:用微程序直接解释另一种机器的指令系统。

11:寻址方式:寻找操作数或指令的有效地址的方式。

12:替换算法:在存储体系中,当出现页面失效时或者主存的所有页面已经全部被占用而又出现页面失效时,按照某种算法来替换主存中某页。

[ 由于主存中的块比Cache 中的块多,所以当要从主存中调一个块到Cache 中时,会出现该块所映象到的一组(或一个)Cache 块已全部被占用的情况。

这时,需要被迫腾出其中的某一块,以接纳新调入的块。

]二:选择题1,直接执行微指令的是( C )A 汇编程序B 编译程序C 硬件D 微指令程序2,对汇编语言程序员不透明的是( C )A 程序计数器B 主存地址寄存器C 条件码寄存器D 指令寄存器3,最早的冯·诺依曼型计算机是以( B )为中心的A 运算器B 控制器C 存储器D I/O 设备4,计算机系统结构的角度的结构来看,机器语言程序员看到的机器属性是( C )A 计算机软件所要完成的功能B 计算机硬件的全部组成C 编程要用到的硬件组织D 计算机各部分硬件的实现5,不同系列计算机之间实现可移植性的途径,不包括( B )A 采用统一的高级语言B 采用统一的汇编语言C 模拟D 仿真6,利用时间重叠原理,实现并行处理的是( A )A 流水处理机B 多处理机C 阵列处理机D 集群系统7,多处理机实现的并行主要是(B)A 指令级并行B 任务级并行C 操作级并行D 操作步骤的级并行8 计算机系统结构不包括( B )A 信息保护B 存储速度C 数据表示D 机器工作状态9,不需要编址的数据存储空间( D )A CPU 通用寄存器B 主存储器C I/O 寄存器D 堆栈10, RISC 执行程序的速度比CISC 快的原因是( C )A RISC 指令系统中条数较少B 程序在 RISC 编译生成的目标程序较短C RISC 指令平均执行周期数较少D RISC 中只允许 LOAD 和 STORE 指令存储11,程序员在编写程序时,使用的访存地址是( B )A 主存地址B 逻辑地址C 物理地址D 有效地址12,虚拟存储器主要是为了( A )A 扩大存储器系统容量B 提高存储器系统速度C 扩大存储器系统容量和提高存储器系统速度D 便于程序的访存操作13,与全相联映像相比,组相联映像的优点是( B )A 目录表小B 块冲突概率低C 命中率高D 主存利用率高14,输入输出数据不经过CPU 内部寄存器的输入输出方式是( C )A 程序控制方式B 中断C DMA 方式D 上述三种方式15,在配置了通道的计算机系统中,用户程序需要输入输出时引起的中断是( A )A 访管中断B I/O 中断C 程序性中断D 外部中断16,当计算机系统通过执行通道程序,完成输入输出工作时,执行通道程序的是(B)A CPUB 通道C CPU 和通道D 指定的外设三:填空1,常见的计算机系统结构的分类法有两种:Flynn 分类法,冯氏分类法冯氏分类法是根据系统的最大并行度对计算机系统结构进行分类,大多数的位并行的单处理机属于字串位并的处理机方式2,由软件实现的机器称为:虚拟机3,在一个计算机系统中,低层机器的属性往往对高层机器的程序员是透明的。

计算机体系结构试题及答案

计算机体系结构试题及答案

计算机体系结构试题及答案一、简答题1、请你简述冯·诺依曼结构的工作原理。

指出:它的结构特点是什么?冯·诺依曼结构是指计算机采用存储程序的工作方式,包含五个部分:算术逻辑单元(ALU)、控制单元(CU)、存储器(Memory)、输入/输出设备(I/O)、数据通路(Bus)。

它的工作原理是,程序从存储器中读取指令,指令分解成操作码和地址,控制单元根据操作码控制算术逻辑单元完成运算,然后将结果存储到存储器中或输出到I/O设备中。

其结构特点是:CPU与存储器采用同一总线,存储程序的方式,将数据和指令存储在同一存储器中,指令操作码和地址采用相同位数的二进制代码表示。

2、请你简述计算机的指令周期,以及每个阶段的作用。

指令周期是指计算机执行一条指令所经历的若干个阶段,一般包括取指令(Fetch)、指令译码(Decode)、执行指令(Execute)、存储结果(Write Back)四个阶段。

具体作用如下:取指令:从存储器中读取指令。

指令译码:对指令进行解析,确定指令的类型和操作数。

执行指令:根据指令类型和操作数进行相应的运算。

存储结果:将执行结果存储到指定的地址中,或者输出到I/O设备中。

3、请你简述计算机CPU的主要组成部分及其作用。

计算机CPU包含三个主要组成部分:算术逻辑单元(ALU)、控制单元(CU)、寄存器组。

具体作用如下:算术逻辑单元(ALU):执行算术和逻辑运算,例如加、减、乘、除、与、或、非等运算。

控制单元(CU):控制计算机的运行,包括指令译码、节拍发生、中断处理、目标跳转等操作。

寄存器组:存储一些特殊的数据,例如程序计数器(PC)、指令寄存器(IR)、通用寄存器等。

4、请你简述计算机的系统总线及其作用。

计算机的系统总线是一种用于传送信息的共享通信通路,分为三类:地址总线(Address Bus)、数据总线(Data Bus)、控制总线(Control Bus)。

其主要作用是实现各个组件之间的数据传输和控制信号传送,如CPU向存储器读写数据、I/O设备访问存储器等。

[整理版]计算机体系结构试题汇总

[整理版]计算机体系结构试题汇总

计算机系统结构姓名:学号:一、简答题(每小题10分,共20分)1.简述使用物理地址进行DMA存在的问题,及其解决办法。

2.从目的、技术途径、组成、分工方式、工作方式等5个方面对同构型多处理机和异构型多处理机做一比较(列表)。

二、(60分)现有如下表达式:Y=a ×X其中:X和Y是两个有64个元素的32位的整数的向量,a为32位的整数。

假设在存储器中,X和Y的起始地址分别为1000和5000,a的起始地址为6000。

1.请写出实现该表达式的MIPS代码。

2.假设指令的平均执行时钟周期数为5,计算机的主频为500 MHz,请计算上述MIPS 代码(非流水化实现)的执行时间。

3.将上述MIPS代码在MIPS流水线上(有正常的定向路径、分支指令在译码段被解析出来)执行,请以最快执行方式调度该MIPS指令序列。

注意:可以改变操作数,但不能改变操作码和指令条数。

画出调度前和调度后的MIPS代码序列执行的流水线时空图,计算调度前和调度后的MIPS代码序列执行所需的时钟周期数,以及调度前后的MIPS流水线执行的加速比。

4.根据3的结果说明流水线相关对CPU性能的影响。

三、(20分)请分析I/O对于性能的影响有多大?假设:1.I/O操作按照页面方式进行,每页大小为16 KB,Cache块大小为64 B;且对应新页的地址不在Cache中;而CPU不访问新调入页面中的任何数据。

2.Cache中95%被替换的块将再次被读取,并引起一次失效;Cache使用写回方法,平均50%的块被修改过;I/O系统缓冲能够存储一个完整的Cache块。

3.访问或失效在所有Cache块中均匀分布;在CPU和I/O之间,没有其他访问Cache 的干扰;无I/O时,每1百万个时钟周期中,有15,000次失效;失效开销是30个时钟周期。

如果替换块被修改过,则再加上30个周期用于写回主存。

计算机平均每1百万个周期处理一页。

试题二计算机系统结构姓名:学号:一、名词解释(每题3分,共15分)1. Cache 2:1 经验规则3. 同构型多处理机5. 堆栈型机器2. 计算机体系结构4. 通道处理机二、填空(每空1分,共20分)1.设计I/O系统的三个标准是()、()和()。

深入理解计算机系统配套练习卷

深入理解计算机系统配套练习卷

第一章单选题1.2.0_60_1 hello.c在( b )阶段在编译过程中生成hello.o A. 预处理阶段B.编译阶段C.汇编阶段D.链接阶段1.2.0_60_2 hello.c在编译过程中通过编译器(ccl)翻译为文本文件( b ) A. hello.o B. hello.s C. hello.i D. hello.c 1.4.1_60_3 处理器执行程序时,用( a )来存放程序和程序处理的数据A. 主存B. 寄存器C. 磁盘D. 网盘1.4.1_60_4 处理器在指令的要求下将一个字节从主存复制到寄存器的操作是( b ) A. 存储B. 加载C. 操作D. 跳转1.4.1_60_5 利用( b )技术,数据可以不通过处理器直接从磁盘到达主存。

A. 随机存储器B. 高速缓存存储器C. 物理存储器D. 直接存储器1.4.1_60_6 代码和数据被加载到( d )处理器就开始执行main程序中的机器语言指令。

A. 寄存器B. 主存C. 磁盘D. 程序计数器1.6.0_60_7 位于存储器层次结构中的最顶部的是( a )。

A. 寄存器B. 主存C. 磁盘D. 高速缓存1.7.1_60_8 下面( a )是对处理器、主存和I/O设备的抽象表示。

A. 进程B. 虚拟存储器C. 文件D. 虚拟机1.7.3_60_9 当系统从主存将一串字节复制到网络适配器时,数据流经过网络到达( c )。

A. 本地寄存器B. 另一台主机C. 本地磁盘D. 网盘1.8.0_60_10 当调用malloc这样的C标准库函数时,( a )可以在运行时动态的扩展和收缩。

A. 栈B. 堆C. 共享库D. 内核虚拟存储器第二章单选题2.1.2_60_1(a)是计算机中表示信息的最小单位。

A)位 B)字 C)字节 D)字长2.1.4_60_2计算机在内存中存储数据时使用了大、小端模式,请分别写出A=0X123456在不模式。

同情况下的首字节是大端模式?小端模式? x86结构的计算机使用( a)模式。

计算机体系结构试题及答案

计算机体系结构试题及答案

计算机体系结构试题及答案计算机体系结构试题及答案【篇一:计算机体系结构习题(含答案)】1、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值rm=16,阶码基值re=2。

对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。

(1)最大尾数(8)最小正数(2)最小正尾数(9)最大负数(3)最小尾数(10)最小负数(4)最大负尾数(11)浮点零(5)最大阶码(12)表数精度(6)最小阶码(13)表数效率(7)最大正数(14)能表示的规格化浮点数个数2.一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。

尾数用原码、纯小数表示,阶码用移码、整数表示。

(1) 设计这种浮点数的格式(2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。

3.某处理机要求浮点数在正数区的积累误差不大于2-p-1 ,其中,p是浮点数的尾数长度。

(1) 选择合适的舍入方法。

(2) 确定警戒位位数。

(3) 计算在正数区的误差范围。

4.假设有a和b两种不同类型的处理机,a处理机中的数据不带标志符,其指令字长和数据字长均为32位。

b处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。

如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。

对于一个由1000条指令组成的程序,分别计算这个程序在a处理机和b处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。

(1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。

计算机体系结构考试题目及参考答案

计算机体系结构考试题目及参考答案

1、简述:1)计算机体系结构研究的目的;2)计算机系统中并行性的层次划分。

目的是:研究计算机体系结构的目的是提高计算机系统的性能。

所谓并行性(parallelism)是指在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。

只要时间上互相重叠,就存在并行性。

从执行程序的角度看,并行性等级从低到高可分为:(1) 指令内部并行:指令内部的微操作之间的并行。

(2) 指令级并行:并行执行两条或多条指令。

(3) 任务级或过程级并行:并行执行两个或多个过程或任务(程序段)。

(4) 作业或程序级并行:在多个作业或程序间的并行。

从处理数据的角度,并行性等级从低到高可以分为:(1) 字串位串:同时只对一个字的一位进行处理。

(2) 字串位并:同时对一个字的全部位进行处理。

(3) 字并位串:同时对许多字的同一位(称位片)进行处理。

(4) 全并行:同时对许多字的全部或部分位进行处理。

2、简述:1)计算机体系结构、计算机组成、计算机实现的研究内容;2)这三者之间的关系(要求附图说明)与系列机的定义。

(书P4)1)计算机体系结构包括:计算机指令系统,计算机组成,和计算机硬件(实现)计算机组成:计算机系统中各个功能部件及连接的设计;计算机实现:包括逻辑设计,集成电路工艺,封装等。

三个不同的概念,具有层次关系同一种体系结构定义下有多种组成方案,同一种组成方案下又有多种实现方法在同一体系结构下,采用不同的计算机组成和实现,生产出一系列性能不同而软件兼容的机器,满足不同用户需求——系列机2、简述:1)程序局部性原理;2)程序局部性原理在多级存储体系中的应用。

1)程序局部性原理包括时间局部性和空间局部性时间局部性:如果被访问过的存储器地址在较短时间内被再次访问,则程序具有良好的时间局部性。

在一定的时间内,重复访问同一个地址的次数越多,时间局部性越好。

空间局部性:如果程序访问某个存储器地址后,又在较短时间内访问临近的存储器地址,则程序具有良好的空间局部性。

体系结构试题及答案

体系结构试题及答案

一.名词解释计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。

同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。

堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。

累加器型机器:CPU 中存储操作数的单元是累加器的机器。

通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。

数据相关:考虑两条指令i和j,i在j的前面,如果下述条件之一成立,则称指令j与指令i数据相关:(1)指令j使用指令i产生的结果;(2)指令j与指令k数据相关,而指令k又与指令i数据相关。

定向:用来解决写后读冲突的。

在发生写后读相关的情况下,在计算结果尚未出来之前,后面等待使用该结果的指令并不见得是马上就要用该结果。

如果能够将该计算结果从其产生的地方直接送到其它指令需要它的地方,那么就可以避免停顿。

向量处理机:指令级并行:简称ILP。

是指指令之间存在的一种并行性,利用它,计算机可以并行执行两条或两条以上的指令。

指令的动态调度:是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。

是由硬件在程序实际运行时实施的。

指令的静态调度:是指依靠编译器对代码进行静态调度,以减少相关和冲突。

它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。

失效率:CPU访存时,在一级存储器中找不到所需信息的概率。

失效开销:CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。

强制性失效:当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。

容量失效:如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种失效就称作容量失效。

计算机体系结构复习题(有答案)

计算机体系结构复习题(有答案)

计算机体系结构复习题(有答案)《体系结构复习题》⼀、选择题(15分)1.计算机系统多级层次中,从下层到上层,各级相对顺序正确的应当是()A.汇编语⾔机器级---操作系统机器级---⾼级语⾔机器级B.微程序机器级---传统机器语⾔机器级---汇编语⾔机器级C.传统机器语⾔机器级---⾼级语⾔机器级---汇编语⾔机器级D. 汇编语⾔机器级---应⽤语⾔机器级---⾼级语⾔机器级2.对系统程序员不透明的是()A.Cache 存储器B.系列⼏各档不同的数据通路宽度C.指令缓冲寄存器D.虚拟存储器3.在计算机系统设计中,⽐较好的⽅法是()A.从上向下设计B.从下向上设计C.从两头向中间设计D.从中间开始向上、向下设计4.不同系列的机器之间,实现软件移植的途径不包括()A.⽤统⼀的⾼级语⾔B.⽤统⼀的汇编语⾔C.模拟D.仿真5.堆栈型机器⽐通⽤寄存器型机器优越的是()A.⽀持先进先出类接替算法的求解B.能更好地⽀持向量的运算C.⽀持由逆波兰表达式将⾼级语⾔多元赋值语句直接编译⽣成堆栈指令程序D.能优化存储器的空间利⽤率6.浮点数尾数基值 r m=8,尾数数值部分长 6 位,可表⽰的规格化最⼩正尾数为()A.0.5B.0.25C.0.125D.1/647.在尾数下溢处理⽅法中,平均误差最⼤的是()A.截断法B.舍⼊法C.恒置“1”法D.ROM 查表法8.ILLIAC Ⅳ是⼀种()A.流⽔线处理机B.指令重叠处理机C.阵列处理机D.多处理机9.能实现作业、任务级并⾏的异构型多处理机属()A.MISDB.SIMDC.MIMDD.SISD10.⾮线性流⽔线是指()A.⼀次运算中使⽤流⽔线中多个功能段B.⼀次运算中要多次使⽤流⽔线中的某些功能段C. 流⽔线中的某些功能段在各次运算中的作⽤不同D. 流⽔线中的各个功能段在各种运算中有不同的组合11.流⽔机器对全局性的相关处理不包括()A.猜测法B.提前形成条件码C.加快短循环程序的执⾏D.设置相关专⽤通路12.外部设备打印机适合于连接()A.数组多路通道或选择通道B.字节多路通道或选择通道C.选择通道D.任意⼀种通道13.虚拟存储器常⽤的地址映像⽅式是()A.全相联B.段相联C.组相联D.直接14.下列关于虚拟存储器的说法,⽐较正确的是()A.访主存命中率随页⾯⼤⼩增⼤⽽提⾼B.访主存命中率随贮存容量增加⽽提⾼C.更换替换算法能提⾼命中率D.在主存命中率低时,改⽤堆栈型替换算法,并增⼤主存容量,可提⾼命中率15.Cache 存储器常⽤的地址映像⽅式是()A.全相联映象B.页表法映象C.组相联映象D.段页表映象16.对系统结构透明的是()A.字符⾏运算指令B.主存地址寄存器C.虚拟存储器D.VLSI 技术17.汇编语⾔源程序变换成机器语⾔⽬标程序是经()来实现的。

《计算机系统结构》及参考答案精选全文完整版

《计算机系统结构》及参考答案精选全文完整版

可编辑修改精选全文完整版《计算机系统结构》练习题一一、单项选择题1.页式虚拟存储器的地址变换对于 D 是透明的.A. 操作系统设计者B. 任何程序员C. 系统结构设计者D. 应用程序员2.以下各类中断中,属于自愿中断的是 C .A. 外部中断B. I/O中断C. 执行“访管”指令D. 机器校验中断3. 高速外部设备磁盘机适合连接于 C .4. 页式虚拟存储器页表的作用是 A .A. 反映虚页在主存的存储情况B. 仅反映虚页是否调入主存C. 反映主存实页与Cache的对应关系D. 反映虚页在辅存的存储情况5.软件和硬件的功能在逻辑上是 C 的.D.软件优于固件6. 计算机中最优化的操作码编码方法是 D .码码C.扩展操作码 D.哈夫曼编码7. 从计算机系统执行程序的角度看,并行性等级由低到高分为四级 A .A.指令内部——指令之间——进程之间——程序之间B.指令之间——指令内部——进程之间——程序之间C.进程之间——指令之间——指令内部——程序之间D.程序之间——进程之间——指令之间——指令内部8. 计算机系统多级层次结构中,操作系统机器级的直接上层是 D .A.传统机器级B.高级语言机器C.应用语言机器级D.汇编语言机器级9.全相联地址映像是指 A .A.任何虚页都可装入主存中任何实页的位置B.一个虚页只装进固定的主存实页位置C.组之间是固定的,而组内任何虚页可以装入任何实页位置D.组间可任意装入,组内是固定装入10.对于同一系列机,必须保证软件能够 C .A.向前兼容,并向上兼容B.向前兼容,并向下兼容C.向后兼容,力争向上兼容D.向后兼容,力争向下兼容11.设有16个处理单元的并行处理机系统, 采用共享主存的方式. 若同时存取16个数据, 为避免存储器访问冲突, 共享主存的多体数量应该为 C 才合理.A. 15B. 16C. 17D. 1912. 软件兼容的根本特征是 C .A. 向前兼容B. 向后兼容C. 向上兼容D. 向下兼容13.在下列机器中,能够实现软件兼容的机器是 B .A. 完全不同种类的机型B. 系统结构相同的机器C. 宿主机和目标机D. 虚拟机14.输入输出系统硬件的功能对 C 是透明的。

计算机体系结构试卷试题(答案全)

计算机体系结构试卷试题(答案全)

一填空题(每空1分,共30分)1、系列机是指具有相同的体系结构,但具有不同组织和实现的一系列不同型号的机器。

2、存储程序计算机结构上的主要特点之一是以运算器为中心。

3、从计算机系统结构的多级层次结构可知,通常情况下,第1、2、3级用解释方法实现,第4或更高级用翻译方法实现。

4、对于最常见的事件,通常赋予它优先的处理权和资源使用权,这是计算机体系结构设计中的大概率事件优先原则。

5、容量为64块的Cache采用组相联方式映像,字块大小为128字节,每4块为一组,若主存容量为4096块,且以字编址,那么主存地址为 19 位,主存区号为 6 位。

6、可改进比例的值总是小于等于1 。

7、一般有两种策略来保存寄存器的内容,即:调用者保存和被调用者保存。

8、DLX指令集提供了立即数寻址、寄存器寻址、偏移寻址和寄存器间接寻址4种寻址方式。

9、对某流水线处理器测试时发现其存在结构冲突,通常可采用资源重复和流水化功能单元方法解决该问题。

10、编译器通过重新组织代码顺序消除暂停的技术被称为指令调度。

11、按照流水的级别可以把流水线分为部件级流水线、处理机级流水线和处理机间流水线。

12、为解决流水线使用非流水数据通路的寄存器引起冲突,在流水线设计中采用寄存器文件技术解决该问题。

13、Cache的替换算法常见的有 FIFO 、LRU 和随机法。

14、改进Cache性能的方法主要有降低失效率、减少失效开销和减少Cache命中时间。

15、减少流水线处理分支暂停时钟周期数的途径包括尽早判断分支转移是否成功和尽早计算出分支成功转移的PC值。

二、选择题(1—15题,每题1分,共15分)1、下面的指令中, A 不属于RISC处理器指令集。

A.ADD R4,[1000] B.LD R3,(R4) C.SUB R4,R3 D.SD 0(R3),R42. 在其它部件性能保持不变的情况下,对CPU性能的不断改进并没有获得期望的结果,这主要是受到了 A 的影响。

计算机体系结构题库

计算机体系结构题库

计算机体系结构题库1.名词解释(每个3分,共15分)多级层次结构——根据计算机语言从低级到高级的顺序,计算机系统按功能划分为多级层次结构,每一层都有不同的语言。

这些级别包括微程序机器级、传统机器语言机器级、操作系统机器级、汇编语言机器级、高级语言机器级、应用语言机器级等。

解释----对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

首先,使用转换程序将上级机器上的程序转换为下级机器上的等效程序,然后在下级机器上运行,以实现程序的功能。

透明性----在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

阿姆达尔定律——当系统中的一个组件得到改进时,整个系统性能的改进受到该组件执行时间占总执行时间百分比的限制。

模拟----用软件的方法在一台现有的计算机(称为宿主机host)上实现另一台计算机(称为虚拟机)的指令系统。

模拟——使用现有计算机(称为主机)上的微程序来解释实现另一台计算机(称为目标计算机)的指令系统。

指令系统的完整性----在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令系统所提供的指令足够使用。

指令系统的规律性——没有例外,也没有尽可能少的特殊应用。

所有操作都可以在存储单元或寄存器单元之间对称、均匀地执行。

静态流水线----指在同一时间内,多功能流水线中的各段只能按同一种功能的连接方式工作的流水线。

当流水线要切换到另一种功能时,必须等前面的任务都流出流水线之后,才能改变连接。

动态管道是指多功能管道的各个部分可以以不同的方式同时连接,同时执行多种功能的管道。

它允许一些段执行一个操作,而另一些段正在执行另一个操作。

计算机系统结构——传统机器程序员看到的计算机属性,即概念结构和功能特征。

程序的局部性原则——程序执行期间访问的内存地址不是随机分布的,而是相对聚集的。

深入理解计算机系统答案(超高清电子版)

深入理解计算机系统答案(超高清电子版)

深⼊理解计算机系统答案(超⾼清电⼦版)Computer Systems:A Programmer’s Perspective Instructor’s Solution Manual1Randal E.BryantDavid R.O’HallaronDecember4,20032Chapter1Solutions to Homework ProblemsThe text uses two different kinds of exercises:Practice Problems.These are problems that are incorporated directly into the text,with explanatory solutions at the end of each chapter.Our intention is that students will work on these problems as they read the book.Each one highlights some particular concept.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.This document gives the solutions to the homework problems.1.1Chapter1:A Tour of Computer Systems1.2Chapter2:Representing and Manipulating InformationProblem2.40Solution:This exercise should be a straightforward variation on the existing code.2CHAPTER1.SOLUTIONS TO HOMEWORK PROBLEMS1011void show_double(double x)12{13show_bytes((byte_pointer)&x,sizeof(double));14}code/data/show-ans.c 1int is_little_endian(void)3/*MSB=0,LSB=1*/4int x=1;56/*Return MSB when big-endian,LSB when little-endian*/7return(int)(*(char*)&x);8}1.2.CHAPTER2:REPRESENTING AND MANIPULATING INFORMATION3 There are many solutions to this problem,but it is a little bit tricky to write one that works for any word size.Here is our solution:code/data/shift-ans.c The above code peforms a right shift of a word in which all bits are set to1.If the shift is arithmetic,the resulting word will still have all bits set to1.Problem2.45Solution:This problem illustrates some of the challenges of writing portable code.The fact that1<<32yields0on some32-bit machines and1on others is common source of bugs.A.The C standard does not de?ne the effect of a shift by32of a32-bit datum.On the SPARC(andmany other machines),the expression x</doc/dde1f034f111f18583d05a59.html pute beyond_msb as2<<31.C.We cannot shift by more than15bits at a time,but we can compose multiple shifts to get thedesired effect.Thus,we can compute set_msb as2<<15<<15,and beyond_msb as set_msb<<1.Problem2.46Solution:This problem highlights the difference between zero extension and sign extension.It also provides an excuse to show an interesting trick that compilers often use to use shifting to perform masking and sign extension.A.The function does not perform any sign extension.For example,if we attempt to extract byte0fromword0xFF,we will get255,rather than.B.The following code uses a well-known trick for using shifts to isolate a particular range of bits and toperform sign extension at the same time.First,we perform a left shift so that the most signi?cant bit of the desired byte is at bit position31.Then we right shift by24,moving the byte into the proper position and peforming sign extension at the same time. 4CHAPTER1.SOLUTIONS TO HOMEWORK PROBLEMS 3int left=word<<((3-bytenum)<<3);4return left>>24;5}Problem2.48Solution:This problem lets students rework the proof that complement plus increment performs negation.We make use of the property that two’s complement addition is associative,commutative,and has additive/doc/dde1f034f111f18583d05a59.html ing C notation,if we de?ne y to be x-1,then we have?y+1equal to-y,and hence?y equals -y+1.Substituting gives the expression-(x-1)+1,which equals-x.Problem2.49Solution:This problem requires a fairly deep understanding of two’s complement arithmetic.Some machines only provide one form of multiplication,and hence the trick shown in the code here is actually required to perform that actual form.As seen in Equation2.16we have.The?nal term has no effect on the-bit representation of,but the middle term represents acode/data/uhp-ans.c Problem2.50Solution:1.2.CHAPTER2:REPRESENTING AND MANIPULATING INFORMATION5A.:x+(x<<2)B.:x+(x<<3)C.:(x<<4)-(x<<1)D.:(x<<3)-(x<<6)Problem2.51Solution:Bit patterns similar to these arise in many applications.Many programmers provide them directly in hex-adecimal,but it would be better if they could express them in more abstract ways.A..((1<B..((1<Problem2.52Solution:Byte extraction and insertion code is useful in many contexts.Being able to write this sort of code is an important skill to foster.code/data/rbyte-ans.c Problem2.53Solution:These problems are fairly tricky.They require generating masks based on the shift amounts.Shift value k equal to0must be handled as a special case,since otherwise we would be generating the mask by performing a left shift by32.6CHAPTER1.SOLUTIONS TO HOMEWORK PROBLEMS 1unsigned srl(unsigned x,int k)2{3/*Perform shift arithmetically*/4unsigned xsra=(int)x>>k;5/*Make mask of low order32-k bits*/6unsigned mask=k?((1<<(32-k))-1):?0;78return xsra&mask;9}code/data/rshift-ans.c 1int sra(int x,int k)2{3/*Perform shift logically*/4int xsrl=(unsigned)x>>k;5/*Make mask of high order k bits*/6unsigned mask=k??((1<<(32-k))-1):0;78return(x<0)?mask|xsrl:xsrl;1.2.CHAPTER2:REPRESENTING AND MANIPULATING INFORMATION7B.(a)For,we have,,code/data/?oatge-ans.c 1int float_ge(float x,float y)2{3unsigned ux=f2u(x);4unsigned uy=f2u(y);5unsigned sx=ux>>31;6unsigned sy=uy>>31;78return9(ux<<1==0&&uy<<1==0)||/*Both are zero*/10(!sx&&sy)||/*x>=0,y<0*/11(!sx&&!sy&&ux>=uy)||/*x>=0,y>=0*/12(sx&&sy&&ux<=uy);/*x<0,y<0*/13},8CHAPTER1.SOLUTIONS TO HOMEWORK PROBLEMS This exercise is of practical value,since Intel-compatible processors perform all of their arithmetic in ex-tended precision.It is interesting to see how adding a few more bits to the exponent greatly increases the range of values that can be represented.Description Extended precisionValueSmallest denorm.Largest norm.Problem2.59Solution:We have found that working through?oating point representations for small word sizes is very instructive. Problems such as this one help make the description of IEEE?oating point more concrete.Description8000Smallest value4700Largest denormalized———1.3.CHAPTER3:MACHINE LEVEL REPRESENTATION OF C PROGRAMS91/*Compute2**x*/2float fpwr2(int x){4unsigned exp,sig;5unsigned u;67if(x<-149){8/*Too small.Return0.0*/9exp=0;10sig=0;11}else if(x<-126){12/*Denormalized result*/13exp=0;14sig=1<<(x+149);15}else if(x<128){16/*Normalized result.*/17exp=x+127;18sig=0;19}else{20/*Too big.Return+oo*/21exp=255;22sig=0;23}24u=exp<<23|sig;25return u2f(u);26}10CHAPTER1.SOLUTIONS TO HOMEWORK PROBLEMS int decode2(int x,int y,int z){int t1=y-z;int t2=x*t1;int t3=(t1<<31)>>31;int t4=t3?t2;return t4;}Problem3.32Solution:This code example demonstrates one of the pedagogical challenges of using a compiler to generate assembly code examples.Seemingly insigni?cant changes in the C code can yield very different results.Of course, students will have to contend with this property as work with machine-generated assembly code anyhow. They will need to be able to decipher many different code patterns.This problem encourages them to think in abstract terms about one such pattern.1movl8(%ebp),%edx x2movl12(%ebp),%ecx y3movl%edx,%eax4subl%ecx,%eax result=x-y5cmpl%ecx,%edx Compare x:y6jge.L3if>=goto done:7movl%ecx,%eax8subl%edx,%eax result=y-x9.L3:done:A.When,it will compute?rst and then.When it just computes.B.The code for then-statement gets executed unconditionally.It then jumps over the code for else-statement if the test is false.C.then-statementt=test-expr;if(t)goto done;else-statementdone:D.The code in then-statement must not have any side effects,other than to set variables that are also set1.3.CHAPTER3:MACHINE LEVEL REPRESENTATION OF C PROGRAMS11Problem3.33Solution:This problem requires students to reason about the code fragments that implement the different branches of a switch statement.For this code,it also requires understanding different forms of pointer dereferencing.A.In line29,register%edx is copied to register%eax as the return value.From this,we can infer that%edx holds result.B.The original C code for the function is as follows:1/*Enumerated type creates set of constants numbered0and upward*/2typedef enum{MODE_A,MODE_B,MODE_C,MODE_D,MODE_E}mode_t;34int switch3(int*p1,int*p2,mode_t action)5{6int result=0;7switch(action){8case MODE_A:12case MODE_B:13*p2+=*p1;14result=*p2;15break;16case MODE_C:17*p2=15;18result=*p1;19break;20case MODE_D:21*p2=*p1;22/*Fall Through*/23case MODE_E:24result=17;25break;26default:27result=-1;28}29return result;30}Problem3.34Solution:This problem gives students practice analyzing disassembled code.The switch statement contains all the features one can imagine—cases with multiple labels,holes in the range of possible case values,and cases that fall through.12CHAPTER1.SOLUTIONS TO HOMEWORK PROBLEMS 1int switch_prob(int x)2{3int result=x;45switch(x){6case50:7case52:8result<<=2;9break;10case53:11result>>=2;15/*Fall through*/16case55:17result*=result;18/*Fall through*/19default:20result+=10;21}2223return result;24}code/asm/varprod-ans.c 1int var_prod_ele_opt(var_matrix A,var_matrix B,int i,int k,int n) 2{3int*Aptr=&A[i*n];4int*Bptr=&B[k];5int result=0;6int cnt=n;78if(n<=0)9return result;1011do{12result+=(*Aptr)*(*Bptr);13Aptr+=1;14Bptr+=n;1.3.CHAPTER3:MACHINE LEVEL REPRESENTATION OF C PROGRAMS13 16}while(cnt); 1718return result;19}code/asm/structprob-ans.c 1typedef struct{2int idx;3int x[4];4}a_struct;14CHAPTER1.SOLUTIONS TO HOMEWORK PROBLEMS 1/*Read input line and write it back*/ 2/*Code will work for any buffer size.Bigger is more time-efficient*/ 3#define BUFSIZE644void good_echo()5{6char buf[BUFSIZE];7int i;8while(1){9if(!fgets(buf,BUFSIZE,stdin))10return;/*End of file or error*/11/*Print characters in buffer*/12for(i=0;buf[i]&&buf[i]!=’\n’;i++)13if(putchar(buf[i])==EOF)14return;/*Error*/15if(buf[i]==’\n’){16/*Reached terminating newline*/17putchar(’\n’);18return;19}20}21}An alternative implementation is to use getchar to read the characters one at a time.Problem3.38Solution:Successfully mounting a buffer over?ow attack requires understanding many aspects of machine-level pro-grams.It is quite intriguing that by supplying a string to one function,we can alter the behavior of another function that should always return a? xed value.In assigning this problem,you should also give students a stern lecture about ethical computing practices and dispell any notion that hacking into systems is a desirable or even acceptable thing to do.Our solution starts by disassembling bufbomb,giving the following code for getbuf: 1080484f4:280484f4:55push%ebp380484f5:89e5mov%esp,%ebp480484f7:83ec18sub$0x18,%esp580484fa:83c4f4add$0xfffffff4,%esp680484fd:8d45f4lea0xfffffff4(%ebp),%eax78048500:50push%eax88048501:e86a ff ff ff call804847098048506:b801000000mov$0x1,%eax10804850b:89ec mov%ebp,%esp11804850d:5d pop%ebp12804850e:c3retWe can see on line6that the address of buf is12bytes below the saved value of%ebp,which is4bytes1.3.CHAPTER3:MACHINE LEVEL REPRESENTATION OF C PROGRAMS15 of%ebp,and the address of the start of the buffer.To determine the relevant values,we run GDB as follows:1.First,we set a breakpoint in getbuf and run the program to that point:(gdb)break getbuf(gdb)runComparing the stopping point to the disassembly,we see that it has already set up the stack frame.2.We get the value of buf by computing a value relative to%ebp:(gdb)print/x(%ebp+12)This gives0xbfffefbc.3.We?nd the saved value of register%ebp by dereferencing the current value of this register:(gdb)print/x*$ebpThis gives0xbfffefe8.4.We?nd the value of the return pointer on the stack,at offset4relative to%ebp:(gdb)print/x*((int*)$ebp+1)This gives0x8048528We can now put this information together to generate assembly code for our attack:1pushl$0x8048528Put correct return pointer back on stack2movl$0xdeadbeef,%eax Alter return value3ret Re-execute return4.align4Round up to125.long0xbfffefe8Saved value of%ebp6.long0xbfffefbc Location of buf7.long0x00000000PaddingNote that we have used the.align statement to get the assembler to insert enough extra bytes to use up twelve bytes for the code.We added an extra4bytes of0s at the end,because in some cases OBJDUMP would not generate the complete byte pattern for the data.These extra bytes(plus the termininating null byte)will over?ow into the stack frame for test,but they will not affect the program behavior. Assembling this code and disassembling the object code gives us the following:10:6828850408push$0x804852825:b8ef be ad de mov$0xdeadbeef,%eax3a:c3ret4b:90nop Byte inserted for alignment.5c:e8ef ff bf bc call0xbcc00000Invalid disassembly.611:ef out%eax,(%dx)Trying to diassemble712:ff(bad)data16CHAPTER1.SOLUTIONS TO HOMEWORK PROBLEMS From this we can read off the byte sequence:Problem3.39Solution:This problem is a variant on the asm examples in the text.The code is actually fairly simple.It relies on the fact that asm outputs can be arbitrary lvalues,and hence we can use dest[0]and dest[1]directly in the output list.code/asm/asmprobs-ans.c Problem3.40Solution:For this example,students essentially have to write the entire function in assembly.There is no(apparent) way to interface between the?oating point registers and the C code using extended asm.code/asm/fscale.c1.4.CHAPTER4:PROCESSOR ARCHITECTURE17 1.4Chapter4:Processor ArchitectureProblem4.32Solution:This problem makes students carefully examine the tables showing the computation stages for the different instructions.The steps for iaddl are a hybrid of those for irmovl and OPl.StageFetchrA:rB M PCvalP PCExecuteR rB valEPC updateleaveicode:ifun M PCDecodevalB RvalE valBMemoryWrite backR valMPC valPProblem4.34Solution:The following HCL code includes implementations of both the iaddl instruction and the leave instruc-tions.The implementations are fairly straightforward given the computation steps listed in the solutions to problems4.32and4.33.You can test the solutions using the test code in the ptest subdirectory.Make sure you use command line argument‘-i.’。

计算机体系结构试题及答案

计算机体系结构试题及答案

计算机体系结构试题及答案12008年01月23日22:211、计算机高性能发展受益于:(1)电路技术的发展;(2)计算机体系结构技术的发展。

2、层次结构:计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为特征。

第六级:应用语言虚拟机-> 第五级:高级语言虚拟机-> 第四级:汇编语言虚拟机-> 第三级:操作系统虚拟机-> 第二级:机器语言(传统机器级) ->第一级:微程序机器级。

3、计算机体系结构:程序员所看到的计算机的属性,即概括性结构与功能特性。

4、透明性:在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。

5、Amdahl提出的体系结构是指机器语言级程序员所看见的计算机属性。

6、经典计算机体系结构概念的实质3是计算机系统中软、硬件界面的确定,也就是指令集的设计,该界面之上由软件的功能实现,界面之下由硬件和固件的功能来实现。

7、计算机组织是计算机系统的逻辑实现;计算机实现是计算机系统的物理实现。

8、计算机体系结构、计算机组织、计算机实现的区别和联系?答:一种体系结构可以有多种组成,一种组成可以有多种物理实现,体系结构包括对组织与实现的研究。

9、系列机:是指具有相同的体系结构但具有不同组织和实现的一系列不同型号的机器。

10、软件兼容:即同一个软件可以不加修改地运行于系统结构相同的各机器,而且它们所获得的结果一样,差别只在于运行时间的不同。

11、兼容机:不同厂家生产的、具有相同体系结构的计算机。

12、向后兼容是软件兼容的根本特征,也是系列机的根本特征。

13、当今计算机领域市场可划分为:服务器、桌面系统、嵌入式计算三大领域。

14、摩尔定律:集成电路密度大约每两年翻一番。

15、定量分析技术基础(1)性能的评测:(a)响应时间:从事件开始到结束之间的时间;计算机完成某一任务所花费的全部时间。

(b)流量:单位时间内所完成的工作量。

计算机系统结构题

计算机系统结构题

计算机系统结构基本习题和答案填空题1、从(使用语言的)角度可以将系统看成是按(功能)划分的多个机器级组成的层次结构。

2、计算机系统结构的层次结构由高到低分别为(应用语言机器级,高级语言机器级,汇编语言机器级,操作系统机器级,传统机器语言机器级,微程序机器级)。

3、应用程序语言经(应用程序包)的(翻译)成高级语言程序。

4、高级语言程序经(编译程序)的(翻译)成汇编语言程序。

5、汇编语言程序经(汇编程序)的(翻译)成机器语言程序。

6、在操作系统机器级,一般用机器语言程序(解释)作业控制语句。

7、传统机器语言机器级,是用(微指令程序)来(解释)机器指令。

8、微指令由(硬件)直接执行。

9、在计算机系统结构的层次结构中,机器被定义为(能存储和执行相应语言程序的算法和数据结构)的集合体。

10、目前M0由(硬件)实现,M1用(微程序(固件))实现,M2到M5大多用(软件)实现。

以(软件)为主实现的机器成为虚拟机。

(虚拟机)不一定全用软件实现,有些操作也可用(固件或硬件)实现。

11、透明指的是(客观存在的事物或属性从某个角度看不到),它带来的好处是(简化某级的设计),带来的不利是(无法控制)。

12、计算机系统结构也称(计算机体系结构),指的是(传统机器级的系统结构)。

它是(软件和硬件/固件)的交界面,是机器语言汇编语言程序设计者或编译程序设计者看到的(机器物理系统)的抽象。

13、计算机组成指的是(计算机系统结构的逻辑实现),包括(机器级内的数据流和控制流)的组成及逻辑设计等。

计算机实现指的是(计算机组成的物理实现),它着眼于(器件)技术和(微组装)技术。

14、确定指令系统中是否要设乘法指令属于(计算机系统结构),乘法指令是用专门的高速乘法器实现还是用加法器实现属于(计算机组成),乘法器和加法-移位器的物理实现属于(计算机实现)。

15、主存容量与编址方式的确定属于(计算机系统结构),主存是否采用多体交叉属于(计算机组成),主存器件的选定属于(计算机实现)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
(d) Address translation
Parameter
VPN TLB Index TLB Tag TLB Hit? (Y/N) Page Fault? (Y/N) PPN
Value
(hex) (hex) (hex)
(d) ( ) When a client and a server connect each other through the Internet, they are uniquely identified by the MAC address and port pair.
(e) ( ) In different C compilers, we always see the same number of bytes allocated for long integer (long int) type.
In the following tables, all numbers are given in hexadecimal. The contents of the TLB and the page table for the first 32 pages are as follows:
Index 0
.
(b) An approach is known as
whenever the memory perform
write-operations immediately after the cache updates its copy of a desired word
w.
(c) “CISC” is short for for
i “exam-sample” — 2009/6/15 — 0:15 — page 1 — #1
i i
úôÆ 200x-200x ÆcgGÆÏ
5OÅNX(¨6§Ï"ÁÁò (ò)
mƵ>íÆ Á/ªµmò #N áu<Ö7!)P!>f`; \|
Ámµ2006 c 6 x F ¤Imµ120 ©¨
i “exam-sample” — 2009/6/15 — 0:15 — page 3 — #3
i i
Computer Architecture Final Exam (Sample) (Page 3 of 8)
June. x, 2006
• The TLB is 4-way set associative with 16 total entries.
(a) The box below shows the format of a virtual address. Indicate (by labeling the diagram) the fields (if they exist) that would be used to determine the following: (If a field doesn’t exist, don’t draw it on the diagram.) VPO The virtual page offset VPN The virtual page number TLBI The TLB index TLBT The TLB tag
(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.
(h) ( ) If we have a instruction pipeline with nonuniform stage delays, then the system throughput is determined by the speed of the fastest stage.
(i) ( ) We can say that “network byte order” is the same as “big-endian byte order” which is defined as the least significant byte has the lowest address.
, and “RISC” is short .
(d) In order to run myprog.c which begins with “include ‘‘csapp.h’’” in Linux
system, we should type a compiling command gcc -c myprog.c; and a linking
4(%eax) 9(%eax, %edx) 260(%ecx, %edx) 0xFC(, %ecx, 4) (%eax, %edx, 4)
Value
4. (20%) The following problem concerns the way virtual addresses are translated into physical addresses.
(j) ( ) When an arithmetic/logic instruction is executed, it always sets the condition codes.
i “exam-sample” — 2009/6/15 — 0:15 — page 2 — #2
i i
Computer Architecture Final Exam (Sample) (Page 2 of 8)
00 7 1 10 6 0 01 8 1 11 7 0 02 9 1 12 8 0 03 A 1 13 3 0 04 6 0 14 D 0 05 3 0 15 B 0 06 1 0 16 9 0 07 8 0 17 6 0 08 2 0 18 C 1 09 3 0 19 4 1 0A 1 1 1A F 0 0B 6 1 1B 2 1 0C A 1 1C 0 0 0D D 0 1D E 1 0E E 0 1E 5 1 0F D 1 1F 3 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
Page Table VPN PPN Valid VPN PPN Valid
(hex)
(e) Physical address format (one bit per box)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
command
.
3. (8%) Assume the following values are stored at the indicated memory addresses and registers:
(a) Memory
Address Value 0x100 0xFF 0x104 0xAB 0x108 0x13 0x10C 0x11
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
For the given virtual addresses, indicate the TLB entry accessed and the physical address. Indicate whether the TLB misses and whether a page fault occurs.
i “exam-sample” — 2009/6/15 — 0:15 — page 4 — #4
i i
Computer Architecture Final Exam (Sample) (Page 4 of 8)
June. x, 2006
If there is a page fault, enter “-” for “PPN” and leave (e) blank. Virtual address: 7E37C (c) Virtual address format (one bit per box)
(b) ( ) In Unix/Linux system, all input/output devices such as disks, printer, keyboard, etc. are represented as files.
(c) ( ) If we are going to obtain executable file aaaa from the source file test.c we just type “gcc -o test.c” in the Linux system.
)6¶µ
ÆÒµ

̵ XXX
µKò©S< 1 2 3 4 5 6 7 8 o©
Zhejiang University Computer Architecture, Summer 2006
Final Exam
1. (10%) Determine whether the following statements are true or false. If it is true write a otherwise a × in the bracket before the statement.
June. x, 2006
2. (10%) Fill in the blanks.
相关文档
最新文档