第1章 练习题
1、 简述冯诺依曼体系结构计算机的要点和工作过程。 答:冯诺依曼体系结构计算机的要点:
计算机中的信息(程序和数据)以二进制方式表示。 程序预存储,机器自动执行。
计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
计算机通过执行预存储在存储器中的程序来完成预定的运算。程序由计算机的指令序列构成,计算机在处理器的控制下,首先从存储器读取一条待执行的指令到处理器中,接下来分析这条指令,而后发出该指令对应的电平脉码序列,即执行该指令。并以此递归运行程序。 2、 简述计算机各组成部分的功能。 答:
? 中央处理单元(CPU):主要由运算器、控制器构成。其中运算器主要用于完成诸如加、减、乘、
除等算术运算和左右移位、与、或、非等逻辑运算;控制器主要用于完成机器指令的解析和执行,控制运算器进行相应的运算,控制数据在计算机各组成部分之间传送,控制计算机各组成部分有条不紊地协调工作等。
? 存储器(Memory)是计算机系统中用来存储程序和数据的信息记忆部件。 ? 输入/输出设备:信息进出计算机的数据通道。
3、 何谓总线?计算机中有哪几类总线?简述其用途。
答:计算机的总线(Bus)就是连接计算机硬件各部件,用于计算机硬件各部件之间信息传输的公
共通道。
按照其传送信号的用途属性,总线可细分为:地址总线(Address Bus)、数据总线(Data Bus)和控制总线(Control Bus)三类。 ? 地址总线(A_Bus):专用于在CPU、存储器和I/O端口间传送地址信息的信号线。此类信号线传送的信息总是从CPU到存储器或I/O端口,它是单向信号线。 ? 数据总线(D_Bus):专用于在CPU、存储器和I/O端口间传送数据信息的信号线。此类信号线传送的信息可以是从CPU到存储器或I/O端口(“写”操作),也可能是从存储器或I/O端口到CPU(“读”操作),它是双向信号线。 ? 控制总线(C_Bus):专用于CPU与其它部件之间传送控制信息和状态信息的信号线。此类信号线的构成比较复杂,传送的控制、状态信息可以是从CPU到其它部件,也可能是从其它部件到CPU。此类总线中的某些具体的线是单向的(或从CPU到其它部件,或反之),但作为总线来说,它是双向信号线。
4、 简述计算机?真值?和?机器数?的概念。
答:各个信息在计算机中的二进制表示形式称之为“机器数”,机器数所代表的值含义称为该机器数
的“真值”。“真值”可以是数值,也可以是字符,甚至是语音或图象等。
5、 什么是处理器的主频?什么是处理器的字长? 答:CPU主频也叫时钟频率,单位是MHz(或GHz),用来表示处理器的工作频率。CPU字长是指
运算器的位宽,单位是比特(bit),用于表示CPU一次运算可处理的二进制数据的位度。
6、 简述计算机接口在计算机系统中的作用。
答:“输入/输出接口”是用于外设与计算机之间桥接和匹配的专用部件,通常以集成电路或板卡的形
式存在。应用于计算机主机与外界的信息交互。
7、 将下列十进制数分别转换为十六进制数和二进制数: ⑴ 123.85 ; ⑵ 93.125 ; ⑶ 23.625 ; ⑷ 65535 答:123.85 = 0x7B.D99 = 01111011.110110011001b 93.125 = 0x5D.2 = 01011101.001b 23.625 = 0x17.A = 00010111.101b
65535 = 0xFFFF =1111 1111 1111 1111b
8、 将下列二进制数分别转换为十六进制数和十进制数: ⑴ 1100 1101.1b ; ⑵ 1000 1101.01b ; ⑶ 11010.011b ; ⑷ 101 1001 0111 0001b 答:1100 1101.1b = 0xCD.8 = 205.5 1000 1101.01b = 0x8D.4 = 141.25 11010.011b = 0x1A.6 = 26.375
101 1001 0111 0001b = 0x5971 = 22897
9、 完成下列二进制数的运算: 答:⑴ 1010 0101b + 0011 1010 b = 11011111b
⑵ 1100 1011b – 0010 0100 b = 10100111b ⑶ 1000 0101.1b + 0001 1110.11 b = 10100100.01b ⑷ 1010 1101.01b – 0100 1001.10b = 1100011.11b
10、 完成下列十六进制数的运算: 答:⑴ 0x39 + 0x56 = 0x80 ⑵ 0x7B – 0x3C = 0x3F ⑶ 0x5D.A1 + 15.75 = 0x48.2C ⑷ 0x83.02 – 1E.B3 = 0x64.4E
11、 分别假设字长n=8,n=16,计算下列十进制数的补码:
答: 序号 1 2 3 4 真值 56 115 -56 -115 补码(n=8) 0011 1000 (0x38) 0111 0011 (0x73) 1100 1000 (0xC8) 1000 1101 (0x8D) 补码(n=16) 0000 0000 0011 1000 (0x0038) 0000 0000 0111 0011 (0x0073) 1111 1111 1100 1000 (0xFFC8) 1111 1111 1000 1101 (0xFFC8)
12、 假设字长n=16,写出下列补码的真值:
答:⑴ [0000 0100 0010 1001]真 = [0x0429]真 = 1065
⑵ [1000 0100 0010 1001]真= [0x8429]真 = -31703 ⑶ [1111 1111 1111 1111]真 = [0xffff ]真 = -1 ⑷ [0111 1111 1111 1111]真 = [0x7FFF]真 = 32767
13、 假设运算器的长度n=16,完成下列补码运算,观察运算器内的结果值,观察CF、DF和OF位
的情况;再分别用真值运算验证,说明补码结果原因,总结OF位于与补码运算溢出的关系。
答: 补码运算 0000 0100 0010 1001 + 1000 0100 0010 1001 1000 0100 0010 1001 + 1111 1111 1111 1111 1111 1111 1111 1111 + 0111 1111 1111 1111 0111 1111 1111 1111 + 0000 0000 0000 0001 结果码 1000 1000 0101 0010 (0x8852) 1000 0100 0010 1000 (0x8428) 0111 1111 1111 1110 (0x7FFE) 1000 0000 0000 0000 (0x8000) 真值比对 1065+(-31703) = -30638 [-30638]补=0x8852 (-31703)+(-1) = -31704 [-31704]补=0x8428 (-1)+32767 =32766 [32766]补=0x7FFE CF DF OF 0 0 0 说明 运算无溢出 1 1 0 运算无溢出 1 1 0 运算无溢出 32767+1 =32768(超出值域) 0 [-32768]补=0x8000 1 1 运算有溢出 14、 什么是ASCII编码?写出引号内各字符的ASCII编码“I Am a Student!”。
答:ASCII编码----美国标准信息交换标准码( American Standard Code for Information Interchange, ASCII ),统一规定了常用符号的二进制数表示方式。计算机中常用ASCII编码表示字符信息。
I Am a Student! 的 ASCII编码-----略。
15、 什么是嵌入式系统?有何特点?
答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。其特点是:它是嵌入到目标对象中的、软硬件定制的专用计算机系统。
16、 举例在你的身边常见到的嵌入式系统产品,谈一谈你对“嵌入式系统”的初步理解。 答:略。
17、 简述嵌入式操作系统的特点。
答:微内核、高可靠性、可裁减定制、满足实时性。
18、 简述你对嵌入式操作系统的基本认识,嵌入式操作系统在嵌入式系统开发中的必要性。 答:略。
第2章 练习题
1、 何谓计算机体系结构?
答:计算机体系结构是对计算机较高层次的抽象,是摆脱具体电路的实现而主要着眼于计算机系统的逻辑特征、原理特征、结构特征和功能特征的抽象。
2、 什么是处理器的指令?什么是处理器的指令系统?
答:计算机中的“指令”就是CPU执行某种操作的命令,它也是以二进制编码方式存在,每一条指令都对应着CPU要完成的特定操作。一台计算机中所有机器指令的集合称为该CPU的“指令系统”。
3、 术语‘指令’和‘语句’有何差别? 答:‘指令’一般针对处理器而言,它在物理操作级仅指示处理器完成一个具体操作,是计算机(处理器)编程的最细小的‘编程描述粒子’。
‘语句’一般针对高级语言,一般是在算法级、逻辑级描述一个算逻运算;他们在描述程序时具有不同的描述级别。
4、 什么是RISC?什么是CISC?简述他们的特点与差别。
答:RISC是Reduced Instruction Set Computer,精简指令集计算机的缩写。它的特点是指令系统精炼,处理器电路逻辑相对简单,且能够以更快的速度执行操作。对于负载的功能需要编程实现。
CISC是Complex Instruction Set Computer,复杂指令集计算机的缩写。它的特点是指令系统中含有大量的类似于高级程序设计语言结构的复合功能指令。指令系统庞大,处理器硬件电路的复杂度。
5、 ARM7处理器是几级流水线?在ARM7处理器中,“PC指向的是下一条要执行的指令”,这句话
对吗?为什么?
答:ARM7处理器是三级流水线。在ARM7处理器中,“PC指向的是下一条要执行的指令”,这句话不对,因为流水线的存在,指令码即使取送到处理器中也未必被执行;应该说“PC指向的是下一条要取指的指令”。
6、 ARM7中的‘状态’、‘模式’分别要说明什么问题? 答:两种处理器“状态” ----分别用于支持两种指令系统。
? ARM指令系统 ? Thumbe指令系统
7种处理器“模式”----分别应用于7种场合,具有不同的寄存器资源、权限。
7、 ARM处理器的工作状态分为哪二种?ARM处理器又是怎么定义和标志的?
答:ARM处理器的工作状态分为“ARM状态”和“Thumbe”状态。在“ARM状态”下,处理器执行32位的指令码,在“Thumbe状态”下,处理器执行16位的指令码。“ARM状态”和“Thumbe”状态下,处理器都是32位的处理器。ARM处理器中的CPSR寄存器的T_bit(CPSR[5])为1时,ARM处理器的当前状态为“ARM状态”;ARM处理器中的CPSR寄存器的T_bit(CPSR[5])为0时,ARM处理器的当前状态为“Thumbe状态”。
8、 ARM7TDMI支持哪几种指令集,各有什么特点? 答:ARM7处理器分别在“ARM状态”下执行ARM指令集指令码,在“Thumbe状态”下执行Thumbe指令集指令码。
? ARM指令集指令丰富、功能强大,Thumbe指令集指令精简、功能紧凑;
? ARM指令集指令码长都是32位,Thumbe指令集指令码长都是16位; ? ARM指令集、Thumbe指令集支持的都是32位运算指令。
9、 ARM7处理器有哪些工作模式?不同工作模式下CPSR寄存器的模式位如何设定?列表说明。 答:ARM7处理器有用户模式(usr)、系统模式(sys)、管理模式(svc)、终止模式(abt)、未定义指令模式(und)、中断模式(irq)和快速中断模式(fiq)共7种模式。ARM处理器使用CPSR寄存器的CPSR [5:0]来标示当前当前所处的工作模式,具体对应如下: 序号 1 2 3 4 5 6 7
10、 描述ARM7处理器的内部寄存器结构,并分别说明R13、R14、R15寄存器的作用。 答:ARM7处理器的内部寄存器
寄存器类别 通 用 寄 存 器 寄存器名 R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13(SP) R13 R13_svc R8 R9 R10 R11 R12 R13_abt R13_und R13_irq 各种模式下可见的寄存器 用户 系统 管理 终止 R0 R1 R2 R3 R4 R5 R6 R7 R8_fiq R9_fiq R10_fiq R11_fiq R12_fiq R13_fiq 未定义 irq fiq M[4:0] 0b10000 (0x10) 0b10001 (0x11) 0b10010 (0x12) 0b10011 (0x13) 0b10111 (0x17) 0b11011 (0x1b) 0b11111 (0x1f) 处理器工作模式 用户模式 (usr) FIQ模式 (fiq) IRQ模式 (irq) 管理模式 (svc) 中止模式 (abt) 未定义模式 (und) 系统模式 (sys)