软件设计师考试复习辅导材料.docx
- 文档编号:9685201
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:32
- 大小:77.69KB
软件设计师考试复习辅导材料.docx
《软件设计师考试复习辅导材料.docx》由会员分享,可在线阅读,更多相关《软件设计师考试复习辅导材料.docx(32页珍藏版)》请在冰豆网上搜索。
软件设计师考试复习辅导材料
考试题型:
可分为填空题、选择题、计算题、问答题和分析题等。
第一章计算机系统概论
本章的学习目的:
初步了解计算机系统的组成和计算机的工作过程,掌握常用的概念、名词术语。
本章要掌握的主要内容:
1.冯._努依曼计算机的设计思想是存储程序和程序控制。
存储程序的概念是将解题程序(连同必须的原始数据)预先存入存储器,程序控制是指控制器依据存储的程序控制全机自动、协调地完成解题任务。
以上统称为存储程序控制。
2.计算机系统按功能划分的多级层次结构。
3.机器功能的软硬件划分取决于价格、速度、可靠性、存储容量和变更周期等。
4.软件和硬件在逻辑功能上是等效的。
合理分配软硬件的功能是计算机总体结构的重要内容。
5.固件是具有软件功能的硬件,它是介于传统软硬件之间的实体。
从功能上说类似于软件,就其形态说类似硬件。
第二章运算方法和运算器
本章的学习目的:
弄清数据与文字在计算机中的表示法,定点加、减、乘、除运算的算法,浮点数的表示法及运算方法,逻辑运算的实现,定、浮点运算器的组成及工作原理。
本章要掌握的主要内容:
1.数值数据在计算机中有定点和浮点表示的两种数据格式。
2.定点表示的表数范围、精度及其特点。
3.浮点表示这一部分的内容是一个难点,应真正弄懂。
(1).浮点数的构成:
N=RE×M_
(2).规格化浮点数是尾数的最高位为非零数值的浮点数。
表示为0.5≤|M|<1(R=2)
规格化数能保留最多的有效数字,避免丢失运算的精度。
例:
某运算结果
N=20001×0.0000000110001110,限定的尾数为8位,可得N1=20001×0.00000001或
N2=2-0110×0.11000111,这二个数的精度不同,N2有8位数的精度,而N1只有1位数的精度。
N1是由N舍去尾数的低8位得到的,N2则是由N规格化后得到的。
(3).如何实现规格化?
当|M|≥1时,将尾数右移,每右移一位,阶码加1,称为向右规格化,简称为右规;
当|M|<0.5时,将尾数左移,每左移一位,阶码减1,称为向左规格化,简称为左规。
可见,规格化过程,就是自动调节比例因子的过程。
应注意的是,尾数为零的浮点数不能规格化。
4.计算机表示数的大小和正负的方法称为码制。
机器数的表示有原码、补码、反码和移码。
5.原码、补码、反码和移码的性质归纳:
(1).补码、反码和移码的符号位作为数值的一部分看待,参加运算,而原码则不能。
(2).原码和反码的表数范围相对于0来说是对称的,
整数:
-(2n-1)~0~+(2n-1)
负数:
-(1-2-n)~0~+(1-2-n)
而补码和移码则可多表示一个最小负数:
整数:
-2n~0~+(2n-1)
负数:
-1~0~+(1-2-n)
(3).零的原码和反码各有二种表示法。
小数:
[+0]原=0.00…0,[-0]原=1.00…0
[+0]反=0.00…0,[-0]反=1.11…1
而零的补码和移码各只有一种表示法:
小数:
[+0]补=[-0]补=0.00…0
[+0]移=[-0]移=1.00…0
(4)反码和补码右移时,移空位补上和符号相同的代码,而原码左右移时,移空位均补上0;补码左移,移空位补0;正数的反码左移时,移空位补0,负数的反码左移时,移空位补1。
(5)原码表示法便于输入输出,有利于实现乘除,不利于加减运算;补码表示法便于加减运算,乘除运算也有较好算法,故多被采用;反码表示法最易于形成代码,但运算复杂且速度慢,很少采用;移码主要用于表示浮点数的阶。
6.补码加法的规则是任意两数的补码之和等于该两数的和之补码,即
[x]补+[y]补=[x+y]补(mod2)
上式的先决条件是-1≤x<1,-1≤y<1,-1≤x+y<1。
7.补码减法的运算公式:
[x-y]补=[x]补+[-y]补(mod2)
在用补码表示的机器中,存储的是[x]补和[y]补的机器数,而减法运算则是指令的要求,上式表明要做减法,必须从[y]补求出[-y]补(称为对y求补),再把减法变为加法进行运算。
[-y]补=┐[y]补+2-n(各位变反,末位加1)
8.溢出的检测与处理。
溢出是指当运算结果大于机器所能表示的最大正数(上溢)或小于机器所能表示的最小负数(下溢)。
机器设有溢出标志位OVR,溢出时将OVR置为1,转溢出中断处理或停机。
溢出的检测有单符号位和双符号的判溢出。
双符号位的判溢出是用模4补码扩大表数范围,使运算结果-1≤A+B<1时,小数点左边两位的状态总是相同的(变形补码,双符号位补码).当运算结果A+B<-1或A+B≥1时,小数点左边两
值得指出的是,机器存储的是单符号位的补码,只是运算时,将单符号位扩充为双符号位。
9.计算机实现乘除运算的方法:
(1)用乘除子程序实现;
(2)在加法器和寄存器中增添控制线路实现;
(3)用阵列乘除法器实现。
10.原码一位乘法的算法:
11.确立补码乘法算法的重要公式:
(1)补码与真值的转换公式:
已知[y]补=y0.y1y2…yn,则真值
(2)补码的右移
已知[x]补=x0.x1x2…xn,则
补=x0.x0x1x2…xn
12.阵列乘法器的组成原理及其与常规乘法器的比较。
13.原码除法的运算规则。
(1)商的符号位单独处理,即
(2)商的尾数
商的原码[q]原=qs.q1q2…qn
(3)x、y、q和余数rn之间的关系满足
x=q·y+rn
0≤|rn|≤2-n·y
14.原码加减交替法(不恢复余数法)除法算法:
(1)商符
(2)余数ri为正数时,商上1,余数左移一位减除数,即2ri-|y|(-|y|用加[-|y|]补);余数为负数时,商上0,余数左移一位加除数,即2ri+|y|,如此循环,直至取得所需的n位商为止。
(3)给商置入商符得[q]原。
15.多功能算术逻辑运算单元设计的基本思想。
由控制参数S0S1S2S3将操作数Ai和Bi组合成函数xi和yi再送全加器相加,由于S0S1S2S3不同的组合和在算逻运算控制端M的共同控制下,便可实现多种算术逻辑运算。
16.运算器的三种基本结构及其特点,运算器的实例。
17.浮点运算的算法:
浮点算术运算由阶和尾数两部分的运算组成,它们的运算可采用任何一种相应的定点运算的方法。
18.浮点加减法运算的步骤:
(1)首先是对阶,就是使两个浮点数阶码取得一致的过程。
通常用加法线路求阶差:
若
>0,即Ex>Ey,应将My右移,每右移一位,
-1,直至
=0为止;若
<0,即Ex +1,直至 =0为止。 (2)取大阶Max(Ex,Ey)暂作结果的阶,将对了阶以后的尾数依指令要求相加或相减。 (3)将运算结果规格化(以双符号补码为例) A.右规条件: 运算结果两个尾符S0'S0状态不同,即: 右规的操作是尾数右移,阶码加1; B.左规条件: 结果非零且为正,尾数最高位M1=0或结果为负,尾数最高位M1=1,即: 左规的操作是尾数每左移一位,阶码减1. (4)舍入处理 当尾数右移时,为减少误差,需进行舍入处理。 常用的舍入法有“0舍1入法”和“恒置1法”。 (5)最后检测结果是否溢出。 浮点数的溢出是指运算结果的阶大于机器所能表示的最大正阶。 若溢出,转中断处理或停机。 19.浮点运算器的结构及浮点四则运算的实现。 20.浮点运算流水线: (1)线性流水线时钟周期的确定: τ=Max(τi)+τl=τm+τl (2)K级线性流水线的加速比: Ck= = ≈K (3)实例见P66例29。 第三章存储系统 本章的学习目的: 弄清半导体存储元件的存储原理,由半导体存储器芯片组成主存的工作原理,高速缓冲存储器、多体交叉并行存储系统和虚拟存储器的工作原理,存储系统的层次结构。 本章要掌握的基本内容: 1.存储器的分类,主要掌握按存取方式分类和按在计算机系统中的作用分类。 2.存储器的分级结构 (1)快速缓冲存储器 在计算机系统中用于存放最活跃的程序和数据的高速小容量存储器。 (2)主存储器 用于存放计算机运行期间的大量程序和数据的半导体存储器。 内存储器包括主存储器和快速缓冲存储器,是CPU能直接访问的存储器。 (3)外存储器(辅助存储器) 存放当前暂不参与运行的程序和数据,需要时再与主存成批交换信息的存储器。 通常是由磁表面存储器等构成。 3.主存储器的技术指标 (1)存储容量 主存存储单元的总数,通常用字数或字节数表示。 按字节编址的主存,存储容量的单位可用KB、MB、GB、TB等单位表示: 1KB=210B,1MB=220B,1GB=230B,1TB=240B (2)存取周期TMC 两次读写操作之间所需的最短间隔时间 TMC的单位是ns(纳秒),1ns=10-9s 值得指出的是存取时间TA,是指存储器从接收到读出或写入的命令起到完成读数或写数操作所需的时间。 通常TA 4.MOS静态存储元的组成及其存取二进制数的机理. 5.存储器芯片内部电路由存储体及相应的外围电路组成。 存储体是由存储元件按行列排列而成,外围电路则是存储体的地址译码驱动,读写电路和内部时序电路等。 6.冯.努依曼计算机的工作方式基本特点之一是按给定的地址访问存储器。 地址译码通常用双译码的结构。 (参见P75图3.4)。 即由x地址译码选中的行和由y地址译码选中的列之交点的存储元即为被选单元。 7.主存储器与CPU的连接。 包括地址线、数据线和控制线的连接。 根据存储器容量的要求,可将若干存储器芯片按位、字、或字位进行扩展,如课本P77图3.6和图3.7所示。 所需某种规格存储器芯片数N的计算如下: 存储器组成实例详见P93的[例3],例3中给出四种规格的RAM芯片供选择,选片的原则是能用容量大的芯片尽量用大的,这样的好处是可减少芯片数并使片选的译码线路简单;另外,存储空间的地址范围尽量写成十六进制数,以便于从高位地址的译码确定片选信号的连接。 例子中的8KBROM的地址空间是十进制数的0~8191即十六进制数的0000H——1FFFH,该地址的特征是高三位地址A15A14A13=000,其余13位地址为0或1(任意),故用3: 8译码器的输出y0作为8KBROM的片选信号。 地址高端的2KBRAM的片选信号可考虑分析如下: 由于2KB容量的芯片需要11位地址作为片内地址,即A10—A0,此2KB是最高端的存储空间,即A15—A11为全1,用A15—A13,经3: 8译码选中y7即是A15A14A13=111,选中时y7为低电平,需经反相,再和A12、A11相“与非”,可得最高端2KBRAM的片选信号。 9.四管、单管动态存储元的存储机理。 特别应注意到四管动态存储元的读出过程就是刷新(补充电荷)的过程;单管动态存储元读1后,该存储元的状态变为0,称为破坏性读出,需读后重写。 13.解决主存与CPU速度不匹配的主要途径: (1)采用更高速的存储器片或加长存储器的字长; (2)采用并行操作的双端口存储器; (3)在CPU和主存之间插入高速缓冲存储器(Cache); (4)采用多体交叉存储器。 14.双端口存储器是指同一个存储器具有两组相互独立的读写控制电路。 当对两个不同地址的存储单元进行读/写,则可同时进行,这就提高了存储器的工作速度;当两个端口同时要存取同一存储单元时发生冲突,此时可由判断逻辑对一优先端口读/写,而延迟对另一端口的读/写。 15.多体交叉存储器 多体交叉存储器的基本原理是: 把M=2n个容量为L个存储单元的存储器(称为分体)交叉编址,使通常按地址自然递增访问存储器的操作依次发生在不同的存储体中,由于每个存储体都有自己的读/写电路和地址寄存器、数据缓冲寄存器,就能对不同存储体同时访问,达到提高存储器工作速度的目的。 多体交叉存储器的并行操作关键在于各存储体的交叉编址。 设有M个存储体,存储体编号为J(J=0,1,2,…,(M-1)),每个存储体容量为L个存储单元,单个分体的单元顺序号为i(i=0,1,2,…,(L-1))。 则Mj体的编址模式为: 例M=4,则用模4交叉编址 体号地址编址序列最末二位地址状态 M00,4,8,…(4i+0),…4(L-1)+000 M11,5,9,…(4i+1),…4(L-1)+101 M22,6,10,…(4i+2),…4(L-1)+210 M33,7,11,…(4i+3),…4(L-1)+311 在理想的情况下,每 (TMC—存取周期)可读/写一次。 16.相联存储器 是按内容寻址的存储器,即用某项内容(关键字)作为地址来存取的存储器。 相联存储器的组成框见P105图3.34。 17.高速缓冲存储器(Cache) Cache是介于CPU与主存之间的用于存放当前最活跃的程序块和数据的高速(小容量)的存储器。 Cache实现的理论基础是CPU运行程序的局部性原理,即指CPU执行的程序所使用的存储单元是相对集中或小批簇聚于相邻单元中。 Cache的命中率P是指CPU在Cache中访问到的次数n1与总的访问次数n之比。 不命中率(脱耙率): (1-P) 在有Cache的主存系统中,CPU访存的平均周期 TA=P×Tcc+(1-P)×TMC 上式中: Tcc——Cache的存取周期 TMC——主存的存取周期 CPU与存储器系统的关系见P105图3.35。 18.主存与Cache的地址映射方式有三种: 全相联映射、直接映射和组相联映射;Cache常采用的替换策略是近期最少使用(LRU)算法;Cache的写操作策略: 写回法、全写法和写一次法。 19.虚拟存储器 用户想象中的具有机器地址字所限定的存储空间的内存储器,是指“主存—外存”的存储层次,它使计算机系统具有外存的容量,接近于主存的速度和外存的位成本。 通常,虚存空间大于实存空间是虚拟存储系统的基本特征,虚存空间是由辅存(磁盘)支持的。 20.在多用户的环境中,计算机系统应提供存储保护,存储保护的方法通常有存储区域保护和访问方式保护,是由硬件实现的。 第四章指令系统 本章的学习目的: 弄清计算机指令系统按功能划分的指令种类;两种指令系统计算机——CISC(复杂指令系统计算机)和RISC(精简指令系统计算机)指令的特点;指令和数据的寻址方式;堆栈及其应用。 1.指令系统与软、硬件之间的关系 按指令系统的功能构造硬件组织; 硬件支持指令系统功能的实现; 在指令系统的基础上构造系统软件。 2.指令的基本结构 操作码字段OP 地址码字段节A OP——指示指令的操作性质,用二进制代码表示不同的指令,其OP不同,通过译码器进行解释。 A——通常用于指示操作数的地址。 决定指令格式的主要因素有三个: 一是操作的种类,二是地址的数目,三是寻址方式。 3.操作码OP的结构 (1)操作码的位数n取决于操作的种类N 2n≥N,即n≥log2N (2)操作码的结构可分为二种: a.规整型的OP结构 是指操作码的位数和位置固定不变。 其特点是有利于简化硬件的译码逻辑,但指令码各位的利用率较低。 b.非规整型的OP结构 是指操作码的位数或位置不规定。 其特点是指令码各位的利用率高,但硬件的实现较难。 4.地址码结构 根据一条指令中所包含的地址个数,分为三地址、二地址、一地址和零地址四种指令。 参见P130。 应当指出的是,一地址指令由指令的地址字段可获得一个操作数,在涉及到双操作数的指令时,另一操作数(隐含)被指定在累加器AC中。 另外,零地址指令是指在指令中不包含操作数的地址,这对于不需有操作数的指令如停机指令等是可理解的,而对于要涉及操作数的零地址指令,操作数在堆栈中,可由堆栈指针指定。 5.指令操作码的扩展方法 这种操作码的扩展技术是一种根据需要确定不同类型指令的操作码位数,属非规整型的OP结构。 另外,不管如何不规整,由于是用不同的二进制编码表示不同的指令,故设计出的每一条指令,应有且仅有一种编码与之对应。 扩展技术的主要优点是指令码中的各位利用率高,即缩短指令的平均长度,增加指令字的操作信息,减少程序总位数。 其缺点是控制器设计难度增大,需要更多的硬件。 6.指令的寻址方式有二种: (1)顺序寻址方式。 即指令地址在内存按序安排,由程序计数器PC提供。 (2)跳跃寻址方式。 由程序控制类指令的执行形成下条指令的地址。 7.操作数寻址方式——形成操作数有效地址的方法。 主要的寻址方式有: (1)立即寻址方式(立时地址) 指令中的地址字段直接给出操作数本身。 适用于指定固定的常数。 (2)直接寻址方式 地址字段直接给出操作数在内存的地址A,即有效地址E=A。 直接寻址方式的寻址范围受指令的地址码字段的位数所限制,设A的位数为n,则可寻址范围为2n个存储单元(0—(2n-1)),也就是说,这种寻址方式通常只能访问到低端的内存。 (3)间接寻址方式 地址字段指出操作数地址的地址。 间接寻址可根据间址的次数分为一次间址和多次间址,如E=(A)为一次间址;E=((A))为二次间址。 使用间接寻址的优点主要是可扩大寻址范围,如A为8位,存储器字长为16位,则由8位的地址经间址后可得到16位字长的有效地址;另一优点是方便编程。 间接寻址的缺点是增加指令的执行时间,在多级间址中可能出现无穷间址(死循环)。 (4)寄存器寻址方式 特点: (A)压缩指令字的长度,有效解决指令码长度短与内存容量大的矛盾。 (B)加快指令的执行速度,如R—R型指令; (C)可扩大寻址范围。 A.寄存器直接寻址 地址字段给出寄存器编号,该寄存器的内容就是操作数。 B.寄存器间接寻址 地址字段指定的寄存器,其内容是操作数的地址,有效地址E=(Rn)。 C.变址寄存器寻址 将变址寄存器的内容(变址值)与形式地址进行指定运算(例如加)而得到有效地址。 E=(Rx)+D D.相对寻址 以程序计数器PC为变址器的变址。 E=(PC)+D (5)复合寻址方式 把变址和间址相结合的寻址方式。 按变址和间址的先后分为二种: A.变址间接式(先变址后间址) E=((Rx)+D) B.间接变址式(先间址后变址) E=(D)+(Rx) (6)块寻址方式 用一条块寻址的指令实现一块数据的传送。 它比用多条指令实现一块数据的传送节省时间。 指定数据块长度的方法: a.指令中划出字段指出长度 b.指令格式中指出数据块的首址和末址 c.由块结束字符指出数据块的长度 方法c适用于传送长度不定的数据块,但每传送一个数据都需与“结束字符”作比较。 (7)段寻址方式 将段寄存器的基地址(左移4位)与偏移量相加形成内存地址的寻址方式。 8.堆栈 按后进先出(LIFO)方式存取的存储单元的有序集合。 计算机中堆栈的实现有二种,一种是串联堆栈(下压堆栈),一种是存储器堆栈。 前者是在CPU中设置一组专门的具有对位串联的若干个寄存器组成,配合堆栈指令实现堆栈操作;后者则是在内存开辟一个专门用于堆栈的存储区,另加堆栈指针SP组成,配合堆栈指令实现其操作。 由于存储器堆栈是使用容量较大的内存部分存储区,因此具有堆栈区位置灵活和容量可变等特点,是常用的一种。 应结合进出栈操作真正弄懂。 堆栈在计算机中的应用主要有: a.为零地址指令提供操作数; b.存放返主地址,实现子程序的嵌套; c.存放多级中断的有关信息,实现多级中断的嵌套。 9.精简指令系统的特点: a.选用的是使用频率最高的一些简单指令; b.指令长度固定,指令格式及寻址方式种类少; c.只有取数和存数指令访问存储器,其余指令的操作均在寄存器之间进行。 第五章中央处理器 本章的学习目的: 弄清中央处理器的功能和组成;实现指令功能的微操作系列如何产生;微操作系列如何转换为硬件的执行逻辑。 中央处理器CPU是计算机中用于解释和执行指令的部件。 1.CPU的功能: a.指令控制,即程序的顺序控制。 主要是由程序计数器PC(顺序寻址)和控制类指令的执行(跳跃寻址)实现的。 b.操作控制 由执行指令的一系列微操作信号进行控制。 c.时间控制 对各种操作实施时间上的控制。 主要是由时序信号发生器等实现。 d.数据加工 对数据实现算逻运算等的处理。 可见,CPU的前三个功能主要是由控制器实现的,最后一个功能则是在运算器实现的。 2.CPU的组成 CPU是由控制器和运算器两部分组成的。 控制器是指挥计算机各部件按指令要求进行操作的部件,是计算机的控制中心,其主要功能是: a.控制取出指令,解释指令和执行指令; b.中断的控制; c.信息传送线的控制。 要实现以上功能,控制器的基本组成包括: a.指令部件 即与指令有关的部件,它包括程序(指令)计数器PC、指令计数器IR和指令译码器ID。 b.时序部件 时序部件主要包括脉冲源及启停线路;时序信号的产生及控制部件。 c.操作控制器 用以产生微操作控制信号,控制各部件的操作。 d.地址寄存器AR及缓冲寄存器DR,状态条件寄存器等。 e.中断机构及控制台。 3.操作控制器的类型有三种: a.组合逻辑控制器(硬布线逻辑) b.微程序控制器(存储逻辑型) c.门阵列控制器 操作控制器的类型不同,对控制器的组成影响很大,故也把操作控制器的类型称为控制器的组成方式。 4.指令周期,CPU周期和时钟周期 a.指令周期 取出并执行一条指令所需的时间。 通常,指令周期的长短与指令的复杂程度有关。 b.CPU周期(机器周期) 将指令周期划分为若干个相对独立的操作阶段,称为C_P_U_周期。 c.时钟周期(节拍脉冲或T周期) CPU周期包括若干个完成微操作的节拍脉冲。 5.各种类型指令的指令周期举例,见P158~P165,通过这些例子,使我们加深对指令执行过程的理解,进一步从空间和时间上建立计算机的整机概念。 6.时序信号的作用和体制 时序信号的作用是为计算机各部分协调工作提供时间标志。 时序信号的体制是电位——脉冲制。 这是由于器件的特性所决定。 组合逻辑控制器通常采用三级的时序体制: 即主状态周期——节拍电位——节拍脉冲制。 微程序控制器常采用的时序体制是节拍电位——节拍脉冲制。 8.控制器的控制方式 控制方式是指形成不同操作序列的时序信号的方法。 常用的控制方式有三种: a.同步控制方式 计算机的每一步操作都由统一的时序信号来控制。 特点是有统一的时钟信号。 b.异步控制方式 按实际需要确定每条指令,每个操作所需的时间,通常采用应答的方式工作。 c.联合控制方式 是同步控制和异步控制方式的结合 9.微命令、微指令和微程序 微命令是控制部件向执行部件发出的各种最简单的控制命令,如ALUBUS。 微指令是在一个CPU周期中,一组实现一定操作功能的微命令的组合。 微指令通常包括操作控制字段和下址字段。 微程序是由微指令组成的,用以实现指令功能的程序。 概括为: 微命令组合微指令组合微程序组合实现指令系统功能 一条机器指令 a.微程序设计 用类似程序设计的方法,组织和控制机器内部信息的传送和互相的联系。 b.微程序设计的任务 设计微指令,编制微程序 10.微程序控制器组成原理及微程序控制的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 设计师 考试 复习 辅导材料
![提示](https://static.bdocx.com/images/bang_tan.gif)