本文主要是介绍软件设计师教程(第三版)(修订版)一二章摘要,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
计算机基本硬件系统 《== 运算器、控制器、存储器、输入设备、输出设备
中央处理单元cpu 《== 运算器、控制器、寄存器组、内部总线
功能:程序控制、操作控制、时间控制、数据处理
运算器 《== 算数逻辑单元ALU、累加寄存器AC、数据缓冲寄存器DR、状态寄存器PSW(保存状态标志、控制标志--CVZNID单步)
功能:算数运算(+-*/及附加运算)、逻辑运算和逻辑测试(& | ! 0值测试和两个值比较)
在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器
控制器 《== 指令寄存器IR、程序计数器PC(寄存信息和计数)、地址寄存器AR、指令译码器ID
包括:指令控制逻辑、时序控制逻辑、总线控制逻辑、中断控制逻辑
指令分为操作码和地址码两部分
寄存器组 《== 专用寄存器(运算器和控制器中的寄存器)、通用寄存器
原、反、补、移码
定点数(定点整数、定点小数)、浮点数(浮点数表示法 N=2^E * F,E-阶码,决定数值范围 F-尾数,决定数值精度)
规格化浮点数(尾数绝对值在[0.5,1]区间内)
尾数用补码表示时需注意,若尾数M>=0, M=0.1xxxx..x ,x为0或1,尾数区间[0.5,1]
M<0, M=1.0xxxx..x ,x为0或1,尾数区间[-1,-0.5]
工业标准IEEE754
(-1)^S * 2^E * (b0 b1 b2 b3 ... bp-1) 32 64 80
(-1)^S - 数符,S=0表示正数,S=-1表示负数 1 1 1
E - 阶码,用移码表示 8(E+127) 11(E+1023) 15(E+16383)
(b0 b1 b2 b3 ... bp-1) - 尾数,长度为p位,用原码表示 23 52 64
利用IEEE754标准将数176.0625表示为单精度浮点数
10110000.0001 -> 1.01100000001 * 2^7 -> 0 10000110 01100000001000000000000 -> 43301000
(7+127) (补足23位)
浮点数运算 == 对阶-求尾数和(差)-结果规格化(若尾数溢出,需调整阶码)-舍入-溢出判别(阶码溢出则
运算结果溢出,阶码小于最小值则结果为0,否则正确无溢出)
乘--尾数相乘,阶码相加
除--尾数相除,阶码相减
校验码 == 奇偶校验码(水平、垂直、水平垂直)、海明码、循环冗余校验码CRC(n、k码)
海明码(利用奇偶性来检错和纠错),数据位n位,校验位k位,必须满足 2^k -1 >= n+k
Pi在海明码的第2^(i-1)位置,即Hj=Pi,且j=2^(i-1)
1>位置,
H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1
D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1
0 1 1 0 1 0 0 1
0 1 0 1
设数据位为01101001,试采用4个校验位求其偶校验方式的海明码
2>校验关系(偶校验,若为奇校验则将各校验位的偶校验值取反即可),
3>检测错误(G4G3G2G1全0为无错误,奇校验则应为全1,十进制值表示了出错的位置,将此位值取反即可纠正错误)
=1010,则H10,即D5出错了
G1=P1+D0+D1+D3+D4+D6
G2=P2+D0+D2+D3+D5+D6
G3=P3+D1+D2+D3+D7
G4=P4+D4+D5+D6+D7
n n-1 ... r+1 r r-1 ... 2 1
----数据位------ --------校验位--------
在求crc编码时,采用模2加减运算(按位运算),不发生借位进位
=============================================
计算机体系结构 《== 结构(概念结构和功能属性)、组织(逻辑实现,组成原理)、实现(物理实现)、性能
宏观按处理机数量分类:单处理系统、并行处理与多处理系统、分布式处理系统
围观按并行程度分类:Flynn分类法(SISD/SIMD/MISD/MIMD)、冯泽云分类法(WSBS/WPBS/WSBP/WPBP)、Handler分类法(处理机级,逻辑单元级,逻辑门电路级)、Kuck分类法(SISE/SIME/MISE/MIME)
通用寄存器机GPR机,CISC,RISC(重叠寄存器窗口、优化编译技术、超流水超标量技术、硬布线微程序相结合)
指令控制方式《== 顺序方式、重叠方式、流水方式
流水线种类,流水线相关(解决局部性相关-推后法和通路法,解决全局相关性-猜测转移分支、加快和提前形成条件码、加快短循环程序的处理)
RISC采用的流水技术 《== 超流水线(时间换空间)、超标量(空间换时间)、超长指令字
吞吐率p=1/max{deltat1, ... ,deltatm} 最长子过程倒数
流水建立时间 T0=m * deltat0 ,设m个子过程所用时间一样,均为deltat0
阵列处理机-SIMD 并行处理机-SIMD(共享存储器、分布存储器两种形式)/MIMD 多处理机 集群 网格
随机存储器RAM、顺序存储器SAM(磁带)、直接存储器DAM(介于前2者之间的方式,磁盘-磁道寻址随机,磁道内顺序寻址)
高速缓存地址映像方法 《== 直接映像、全相联映像、组相联映像(前两种方案折衷)
替换算法 《== 随机替换、先进先出、近期最少使用、优化替换算法
虚拟存储器管理方式 《== 页式、段式、段页式
磁盘容量非格式化=面数x(磁道数/面)x内圆周长x最大位密度
格式化=面数x(磁道数/面)x(扇区数/道)x(字节数/扇区)
磁盘阵列技术-raid0~6
内存与接口独立编址--(编程读程序容易辨认 / 用于接口的指令太少、功能太弱)
统一编址--(内存指令可全用于接口,增强接口操作功能,不再区分内存或接口指令 / 地址分为2部分、不连续,维护需要根据定义表辨认)
直接程序控制 《== 无条件传送、程序查询方式(降低cpu效率,无法实时响应外部突发事件)
中断处理方法 《== 多中断信号线法、中断软件查询法、菊花链法、总线仲裁法、中断向量表法
输入输出处理机IOP数据传送方式: 字节多路、选择传送、数组多路
安全信息基本要素:机密性、完整性、可用性、可控性、可审查性
影响数据安全的因素:内部、外部 p36
平均无故障时间MTBF=1/lamda 平均修复时间MTRF 正常工作的概率A=MTBF/(MTBF+MTRF)
RAS-计算机可靠性R,可用性A,可维修性S
串联系统可靠性R=R1*R2*...*Rn 失效率lamda=lamda1+lamda2+...+lamdan
并联系统可靠性R=1 - (1-R1)*(1-R2)*...*(1-Rn) 失效率miu=1 / (1/lamda * (1+1/2+1/3...+1/n))
MTBF=1/miu lamda=1/MTBF
N模冗余系统(N=2*n+1)
性能评测方法 《== 时钟频率、指令执行速度MIPS、等效指令速度法、数据处理速率PDR、核心程序法
基准程序法Benchmark:整数测试程序Dhrystone、浮点测试程序Linpack(向量性能、高速缓存性能)/Whetstone、SPEC基准程序、TPC基准程序
程序设计语言 《== 语法、语义(静态、动态)、语用
分类:命令式(结构化)--fortran/pascal/c--自顶向下逐步精化,按模块组装,包含顺序分支循环,只允许单入口单出口、
面向对象--c++/java/smaltalk--数据隐藏,数据抽象,用户定义类型,继承,多态、
函数式--lisp--对应规则(映射,定义域重元素与值域中唯一元素对应)、
逻辑型--prolog--模式匹配(关系理论和一阶谓词理论,事实、数据对象、事实关系集合、规则)(用于自动定理证明、专家系统、自然语言理解)
词法分析--确定的有限自动机DFA、不确定的有限自动机NFA 构造p76
语法分析
中间代码-后缀式(逆波兰式)、三元式、四元式、树
这篇关于软件设计师教程(第三版)(修订版)一二章摘要的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!