第一章 计算机组成与体系
计算机硬件:运算器,控制器,存储器,输入设备,输出设备。
CPU功能:程序控制、操作控制、时间控制、数据处理。
多核CPU系统的最大优点(也是开发的最主要的目的)是可满足用户同时进行多任务处理的要求。
计算机硬件:运算器,控制器,存储器,输入设备,输出设备。
【运算器和控制器的需要记忆,背下来】很重要!!
运算器:
控制器:用于控制整个CPU的工作,它决定了计算机运行过程的自动化,它不仅要保证程序的正确执行,而且要能够处理异常事件。
主要知识点:进制转换,十进制转为二进制等等
正数的话,原码、反码、补码都是相同的
对负数来说:
原码:有八位,第一位表示符号,如果是0表示是整数,是1就表示负数
反码:符号位不变,其他的数反过来
补码:反码+1
移码:在补码的基础上,符号位取反
数值:1 | 数值:-1 | 1-1(这是个算式) | |
---|---|---|---|
原码 | 0000 0001 | 1000 0001 | 1000 0010 |
反码 | 0000 0001 | 1111 1110 | 1111 1111 |
补码 | 0000 0001 | 1111 1111 | 0000 0000 |
移码 | 1000 0001 | 0111 1111 | 1000 0000 |
在计算机中,使用补码参与加减乘除的计算。
使用补码表示数据时,可以将符号位和其他位统一处理,减法也可以按加法来处理,从而简化运算部件的设计。
数值表示范围
码值 | 定点整数 | 定点小数 |
---|---|---|
原码 | − ( 2 n − 1 − 1 ) -(2^{n-1}-1) −(2n−1−1) ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n−1−1) | − ( 1 − 2 n − 1 ) -(1-2^{n-1}) −(1−2n−1) ~ ( 1 − 2 n − 1 ) (1-2^{n-1}) (1−2n−1) |
反码 | − ( 2 n − 1 − 1 ) -(2^{n-1}-1) −(2n−1−1) ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n−1−1) | − ( 1 − 2 n − 1 ) -(1-2^{n-1}) −(1−2n−1) ~ ( 1 − 2 n − 1 ) (1-2^{n-1}) (1−2n−1) |
补码 | − 2 n − 1 -2^{n-1} −2n−1 ~ + 2 n − 1 +2^{n-1} +2n−1 | − 1 -1 −1 ~ + ( 1 − 2 n − 1 ) +(1-2^{n-1}) +(1−2n−1) |
移码 | − 2 n − 1 -2^{n-1} −2n−1 ~ + 2 n − 1 +2^{n-1} +2n−1 | $-1 $ ~ + ( 1 − 2 n − 1 ) +(1-2^{n-1}) +(1−2n−1) |
"+"表示的是正数
浮点的运算
浮点数的表示:
运算过程:
特点
码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据校验码的码距。
例如,用4位二进制表示16种状态,则有16个不同的码字,此时码距为1,如0000与0001。
奇偶校验码
的编码方法是:由若干位有效信息(如一个字节) , 再加上一个二进制位(校验位)组成校验码。
奇校验:整个校验码(有效信息位和校验位)中"1”出现的个数是不是奇数。
偶校验:整个校验码(有效信息位和校验位)中"1"出现的个数是不是偶数。
奇偶校验,可检查1位的错误,不可纠错。
循环校验码CRC
CRC校验。可检错,不可纠错。
CRC的编码方法是:在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码) , 以及如何从k+ r位信息码判断是否出错。
循环冗余校验码编码规律如下:
模2除法
什么是模2除法,它和普通的除法有何区别?
模2除法是指在做除法运算的过程中不计其进位的除法。
例如, 10111对110进行模2除法为:
可检错,也可纠错。
海明校验码的原理是:在有效信息位中加入几个校验位形成海明码,使码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供了依据
2 k − 1 ≥ n + k 2^k-1\geq n+k 2k−1≥n+k
K:校验位的个数
注意:海明码的编码过程有严格要求,对于信息位与校验位的放置是有约定的,不能随机设定。
CRC码的校验位都是置于编码的最后部分。
Flynn分类:
计算机采用分级存储体系的主要目的是为了解决存储容量,成本和速度之间的矛盾
需要掌握:流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率
流水行是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
流水线的计算:
流水线周期为执行时间最长的一段。
流水线计算公式为:1条指令执行时间 + (指令条数-1)* 流水线周期。
理论公式: ( t 1 + t 2 + . . + t k ) + ( n − 1 ) ∗ Δ t (t1+t2+..+tk)+(n-1)*\Delta t (t1+t2+..+tk)+(n−1)∗Δt
实践公式: k ∗ Δ t + ( n − 1 ) ∗ Δ t k*\Delta t+(n-1)*\Delta t k∗Δt+(n−1)∗Δt
例题:一条指令的执行过程可以分解为取指、分析和执行三步,在取指时间 t 取指为 3 Δ t 3\Delta t 3Δt、分析时间 t 分析 2 Δ t 2\Delta t 2Δt、执行时间 t 执行 4 Δ t 4\Delta t 4Δt的情况下,若按串行方式执行,则10条指令全部执行完需要 ( 90 ) Δ t \Delta t Δt;若按流水线的方式执行,流水线周期为 ( 4 ) Δ t \Delta t Δt;则10条指令全部执行完需要( 45 ) Δ t \Delta t Δt。 9 Δ t \Delta t Δt+(10-1)*4 Δ t \Delta t Δt
超标量流水线计算
就相当于再引入n条流水线,同时执行指令。这个n呢就是"度"
流水线吞吐率计算
流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。
T P = 指 令 条 数 流 水 线 执 行 时 间 TP=\frac {指令条数}{流水线执行时间} TP=流水线执行时间指令条数,流水线最大吞吐率: T P m a x = L i m n → ∞ n ( k + n − 1 ) Δ t = 1 Δ t TP_{max}=Lim_{n\to \infty} \frac{n}{(k+n-1)\Delta t}= \frac{1}{\Delta t} TPmax=Limn→∞(k+n−1)Δtn=Δt1
层次化存储结构
局部性原理是层次化存储结构的支撑
在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)。 使用Cache改善系统性能的依据是程序的局部性原理。 如果以h代表对Cache的访问命中率,表示Cache的周期时间,表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为,则: 其中,( 1-h)又称为失效率(未命中率)。
Cache的映像
直接相联映像∶硬件电路较简单,但冲突率很高。
全相联映像: 电路难于设计和实现,只适用于小容量的cache,冲突率较低。
组相联映像 :直接相联与全相联的折中。
主存地址转换成Cache存储器的地址,这种地址称为地址映像
地址映像是将主存与Cache的存储空间划分为若干大小相同的页(平称为块)。 例如,某机的主存容量为1GB,划分为2048页,每页512KBCache容量为8MB,划分为16页,每页512KB。
为了提高系统的处理速度才将主存部分存储空间中的内容复制到工作速度更快的Cache中,同样是为了提高速度的的原因,Cache系统都是由硬件
实现的。
CPU内外的高速缓存是用来解决CPU与内存之间速度、容量不匹配的问题,与外存无关,可以提高CPU访问主存的数据或指令的效率。
虚拟存储器
虚拟存储技术使辅助存储器和主存储器密切配合,与用户来说,好像计算机基友一个容量比实际大的主存可供使用,因此称为虚拟存储器。虚拟存储器的地址称为虚地址和逻辑地址。
常用的虚拟存储器由主存-辅存两级存储器构成。
存储单元
根据存储器所要求的容量和选定的存储芯片的容量,就可以芯片的总数,即: 总片数总容量每片的容量
例题:若内存地址区间为4000H ~43FFH,每个存储单元可存储16位二进制数,该内存区域用4片存储器芯片构成,则构成该内存所用的存储器芯片的容量是多少?
解:芯片地址是从0开始计算,所以 总容量 =
结果: 芯片容量=总容量×总片数
寻址方式
串联系统和并联系统 ------R表示可靠性
重要
直接内存存取(DMA)是指数据在主存与I/O设备间(主存与外设之间)的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,实际操作由DMA硬件直接完成。CPU是在一个总线周期
结束时响应DMA的请求的。
一条总线同一时刻仅允许一个设备发送 ,但允许多个设备接收。
总线的分类:
总线复用方式可以减少总线中信号线的数量
1,可靠性计算
串联系统: R = R 1 + R 2 + R 3 … + R n R=R_1+R_2+R_3…+R_n R=R1+R2+R3…+Rn
并联系统: R = 1 − ( 1 − R 1 ) ∗ ( 1 − R 2 ) ∗ . . . ∗ ( 1 − R n ) R=1-(1-R_1)*(1-R_2)*...*(1-R_n) R=1−(1−R1)∗(1−R2)∗...∗(1−Rn)
模冗余系统
冗余技术包括时间冗余,信息冗余,结构冗余和冗余附加技术。结构冗余按照工作方法可以分为静态,动态和混合冗余。
冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。通常冗余技术分为4类:
入侵检测技术包括专家系统、模型检测、简单匹配;
漏洞扫描系统是一种自动检测目标主机安全弱点的程序,漏洞扫描系统的原理是根据系统漏洞库对系统可能存在的漏洞进行一一验证。黑客利用漏洞扫描系统可以发现目标主机的安全漏洞从而有针对性的对系统发起攻击;系统管理员利用漏洞扫描系统可以查找系统中存在的漏洞并进行修补从而提高系统的可靠性。漏洞扫描系统不能用于发现网络入侵者,用于检测网络入侵者的系统称为入侵检测系统。
漏洞扫描技术是检测远程或本地系统安全脆弱性的一种安全技术。通过与目标主机TCP/IP端口建立连接并请求某些服务(如TELNET、FTP等),记录目标主机的应答, 搜集目标主机相关信息(如匿名用户是否可以登录等),从而发现目标主机某些内在的安全弱点。
网络攻击的主要手段包括口令入侵、放置特洛伊木马程序、拒绝服务(DoS)攻击、端口扫描、网络监听、欺骗攻击和电子邮件攻击等。
DMZ是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。
终端设备与远程站点之间建立安全连接的协议是SSH。SSH为Secure Shell的缩写, 是由IETF制定的建立在应用层和传输层基础上的安全协议。SSH是专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX上的程序,后来又迅速扩展到其他操作平台。
网络攻击有主动攻击和被动攻击两类。
防火墙功能特性:不正确的是提供漏洞扫描功能。防火墙是一种放置在网络边界上,用于保护内部网络安全的网络设备。它通过对流经数据流进行分析和检查,可实现对数据包的过滤、保存用户访问网络的记录和服务器代理功能。防火墙不具备检査病毒的功能。
防火墙的性能及特点主要由以下两方面所决定。 ①工作层次。 这是决定防火墙效率及安全的主要因素。一般来说, **工作层次越低,则工作效率越高, 但安全性就低了;**反之, 工作层次越高,工作效率越低, 则安全性越高。 ②防火墙采用的机制。 如果采用代理机制, 则防火墙具有内部信息隐藏的特点, 相对而言, 安全性高, 效率低;如果采用过滤机制, 则效率高, 安全性却降低了。
包过滤防火墙对数据包的过滤依据包括源IP地址、源端口号、目标IP地址和目标端口号。
通过防火墙我们可以将网络划分为三个区域:安全级别最高的LAN Area (内网), 安全级别中等的DMZ区域和安全级别最低的Internet区域(外网)。三个区域因担负不同的任务而拥有不同的访问策略。通常的规则如下:
包过滤技术是一种基于网络层、传输层的安全技术。
数字证书是由权威机构 CA证书授权(CertificateAuthority)中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来 证明自己的身份和识别对方的身份。 数字证书包含版本、序列号、签名算法标识符、签发人姓名、有效期、主体名、主体公钥信息等并附有CA的签名,用户A获取用户B的数字证书后通过验证 CA的签名 来确认数字证书的有效性。验证CA的签名时使用的是CA的公钥。
数字证书用CA私钥做数字签名,从用户的数字证书中可以获得用户的公钥。
数字签名(Digital Signature)技术是不对称加密算法的典型应用:数据源发送方使用自己的私钥对数据校验和(或)其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名“,并将解读结果用于对数据完整性的检验,以确认签名的合法性。
用户B收到用户A带数字签名的消息M,为了验证M的真实性,首先需要从CA 获取用户A的数字证书,验证证书的真伪需要用CA的公钥验证CA的签名,验证M的真实性需要用用户A的公钥验证用户A的签名。
公钥体系即非对称加密体系,其密钥分为公钥与私钥。
共享密钥加密指对称加密。常见的对称加密算法有:DES,三重DES、RC-5、IDEA、AES。
公开密钥加密(public-key cryptography),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。
SHA-1是一种安全散列算法,常用宁对接收到的明文输入产生固定长度的输出,来确保明文在传输过程中不会被篡改;
应用级网关可以工作在OSI七层模型的任一层上,能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,起到防火墙的作用,成为应用级网关。
用户组默认权限由高到低的顺序是administrators—power users —users—everyone
计算机病毒的分类方法有许多种,按照最通用的区分方式,即根据其感染的途径以及采用的技术区分,
计算机病毒具有隐蔽性、传染性、潜伏性、触发性和破坏性等特定。因此自毁性不属于计算机病毒的特征。
病毒文件名称一般分为三部分,第一部分表示病毒的类型,如Worm表示蠕虫病毒,Trojan表示特洛伊木马,Backdoor表示后门病毒,Macro表示宏病毒等。 宏病毒感染的对象是使用某些程序创建的文本文档、数据库、电子表格等文件。
CPU是在一个总线周期
结束时响应DMA的请求的。
VLIW(Very Long Instructin Word)超长指令字。
CISC(复杂指令集计算机)
RISC(Reduced Instruction Set Computer,精简指令集计算机)的主要特点是重叠寄存器窗口技术;优化编译技术。RISC使用了大量的寄存器,如何合理分配寄存器、提高寄存器的使用效率及减少访存次数等,都应通过编译技术的优化来实现;超流水及超标量技术。为了进一步提高流水线速度而采用的技术;硬布线逻辑与微程序相结合在微程序技术中。
采用模二除法运算的只有循环冗余检验CRC。
在单总线结构中,CPU与主存之间、CPU与I/O设备之间、I/O设备与主存之间、各种设备之间都通过系统总线交换信息。
单总线结构的优点是控制简单方便,扩充方便。但由于所有设备部件均挂在单一总线上,使这种结构只能分时工作,即同一时刻只能在两个设备之间传送数据,这就使系统总体数据传输的效率和速度受到限制,这是单总线结构的主要缺点
报文摘要是用来保证数据完整性的。传输的数据一旦被修改,摘要就不同了。只要对比两次摘要就可确定数据是否被修改过。
物理安全:机房安全,设备防雷击,
网络安全:入侵检测,流量控制
系统安全:漏洞发现与补丁管理
应用安全:数据库安全
Windows IIS服务支持的身份认证方式有.NET Passport身份验证、集成Windows身份验证、摘要式身份验证和基本身份验证。
I/O设备管理软件一般分为4层:中断处理程序、设备驱动程序、与设备无关的系统软件和用户级软件。至于一些具体分层时细节上的处理,是依赖于系统的,没有严格的划分,只要有利于设备独立这一目标,可以为了提高效率而设计不同的层次结构。I/O软件的所有层次及每一层的主要功能如下图所示。
图中的箭头给出了I/O部分的控制流。当用户通过键盘或鼠标进入某应用系统时,通常最先获得键盘或鼠标输入信息的程序是中断处理程序。
软件可靠性指的是一个系统对于给定的时间间隔内、在给定条件下无失效运作的概率。根据定义,软件可靠性与软件的潜在错误的数量、位置有关,与软件产品的使用方式有关,而软件产品的开发方式不决定软件产品的可靠性。可以用MTTF/(1+MTTF)来度量,其中MTTF为平均无故障时间。
软件可用性使之在给定的时间点上,一个软件系统能够按照规格说明正确运行的概率。可以用MTBF/(1+MTBF)来度量,其中MTBF为平均失效间隔时间。
软件可维护性是在给定的使用条件下,在规定的时间间隔内,使用规定的过程和资源完成维护活动的概率。 可以用1/(1+MTTR)来度量,其中MTTR为平均修复时间。
可靠性、可用性和可维护性是软件的质量属性,软件工程中,用0-1之间的数来度量。