1.1 计算机系统基础知识
计算机系统是由硬件和软件组成,基本硬件组成:运算器、控制器、存储器、输入输出设备,其中运算器和控制器被集成在一起称为中央处理单元(Central ProcessingUnit,CPU),CPU是硬件系统的核心,用于数据的加工处理,进行各种算术、逻辑运算及控制功能,存储器用于对数据的保存,分为内部存储器和外部存储器,内部存储器速度高、容量小,一般用于临时存放程序、数据及中间结果,外部存储器容量大、速度慢,可以长期保存程序和数据。输入设备用于输入原始数据和各种指令、输出设备用于输出计算机运行的结果
CPU负责获取程序指令、对指令进行译码并加以执行
1、CPU的功能
1、程序控制:CPU通过执行指令来控制程序的执行顺序是CPU的重要功能
2、操作控制:一条指令功能的实现需要若干操作信号来配合完成,CPU产生每条指令的操作信号并将操作信号送往对应的部件,控制相应的部件按指令的功能来进行操作
3、时间控制。CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。
4、数据处理。CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用。所以,对数据的加工处理也是CPU 最根本的任务。
此外,CPU还需要对系统内部和外部的中断(异常)做出响应,进行相应的处理。
2、CPU的组成
1、运算器由算数逻辑单元(Arithmetic and Logic Unit ALU)、累加寄存器(AC)、数据缓冲寄存器(DR)、 状态条件寄存器(PSW)等组成,它是数据加工处理部件,用于完成计算机的各种算术和逻辑运算。
2、运算器的主要功能:执行所有算术运算,例如加、减、乘、除等基本运算及附加运算。 执行所有的逻辑运算并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。
3、运算器中各组成部件的功能
1、算数逻辑单元(ALU):负责处理数据,实现对数据的算术运算和逻辑运算。
2、累加寄存器(AC):也称累加器,是一个通用寄存器,功能是当运算器的算术逻辑单元执行算术运算或逻辑运算时,为ALU提供一个工作区
3、数据缓冲寄存器(DR):在对内存储器{(Memory)是计算机中用于暂时存储程序和数据的部件,主要由DRAM(Dynamic Random Access Memory,动态随机存取内存)和SRAM(Static Random Access Memory,静态随机存取内存)组成。内存储器与中央处理器(CPU)之间通过总线进行数据的交换。在计算机运行程序时,程序和数据都需要存储在内存储器中,CPU通过读取内存储器中的数据来执行程序。内存储器的容量越大,就能够存储更多的程序和数据,从而提高计算机的运行效率。} 进行读/写操作时,用DR暂时存放由内存储器读/写的一条指令或一个数据字,将不同时间段内读/写的数据隔离开来。DR的主要作用为:作为CPU和内存、外部设备之间数据传送的中转站;作为CPU和内存、外围设备之间在操作速度上的缓冲;在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器
4、状态条件寄存器(PSW)。PSW 保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志
2)控制器
运算器只能完成运算,而控制器用于控制整个CPU的工作,它决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且要能够处理异常事件。控制器一般包括 指令控制逻辑 、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分。
指令控制逻辑要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤。
(1)指令寄存器(IR)。当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,再送入IR暂存,指令译码器根据 IR的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。
(2)程序计数器(PC)。PC具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分两种情况,一是顺序执行,二是转移执行。
(3)地址寄存器(AR)。AR保存当前CPU所访问的内存单元的地址
(4)指令译码器(ID)。指令包含操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作。
时序控制逻辑要为每条指令按时间顺序提供应有的控制信号。总线逻辑是为多个功能部件服务的信息通路的控制电路。中断控制逻辑用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理
3)寄存器组:寄存器组分为 专用寄存器和 通用寄存器 ,运算器和控制器中的寄存器是专用寄存器,其作用是固定的。通用寄存器的用途广泛,可由程序员来规定其用途,其数目因处理器的不同有所差异
核心又称内核,是CPU最主要的组成部分,CPU所有的计算、接受/存储指令、处理数据都由内核来完成。各种CPU内核都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有不同的布局。
以双核CPU为例,AMD和Inter的双核技术在物理结构上有很大的不同,AMD将两个内核做在一个CPU芯片上,通过直接架构连接起来,集成度更高;Inter则是将两个CPU芯片封装在一起,因此,有人将Inter的方案称为“双芯”,将AMD的方案称为"双核"
各种数据在计算机中表示的形式称为机器数,机器数的特定是采用二进制,即数据用0和1来表示,小数点则隐含(不占位置)。机器数对应的实际数值称为数的真值
设带符号二进制数的字长为 n ,则该数的取值范围见下表
计算机系统在运行时,各部件之间要进行数据交换,为了提高数据在传送过程中的正确性,一个方法是提高硬件电路的可靠性,另一个方法是采用效验码对数据的正确性进行检查甚至纠正
码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据效验码的码距。是衡量两个等长字符串之间差异的度量方式。对于两个等长的字符串,码距定义为将一个字符串转换为另一个字符串所需的最小单个字符修改次数。换句话说,码距是指两个字符串在相同位置上不相等的字符的个数。
常用三种校验码:
1、奇偶校验码常用的有水平奇偶校验码、垂直奇偶校验码和水平垂直奇偶校验码三种
2、海明码是由贝尔实验室的Richard Hamming 设计的,它是利用奇偶性来检错和纠错的校验方法
3、CRC循环冗余校验码广泛用于数据通信领域和磁介质存储系统中
1、奇偶校验码(Parity Code):是一种简单有效的校验方法。这种方法通过在数据编码中增加一位校验位,使编码中1的个数为奇数(奇校验)或 偶数(偶校验)。奇校验只能发现奇数个错误位;偶校验只能发现偶数个错误位;奇偶校验只能查错不能纠错
2、海明码(Hamming Code)
3、循环冗余校验码(Cyclic Redundancy Check ,CRC)由两部分组成,左边为信息码(数据),右边为效验码,使用模二除法来校验
1、计算机体系结构的发展
1964年,阿姆达尔(G.M. Amdahl)在介绍IBM360系统时指出,计算机体系结构是站在程序员的角度所看到的计算机属性
1982年,梅尔斯(G.J.Myers)在其所著的《计算机体系结构的进展》一书中定义了组成计算机系统的若干层次
1984年,拜尔(J.L.Bear)在一篇题为《计算机体系结构》的文章中给出了一个含义更加广泛的定义:体系结构是由结构、组织、实现、性能四个基本方面组成的
计算机体系结构、计算机组织和计算机实现三者的关系是:
计算机体系结构是指计算机的概念型结构和功能属性
计算机组织是指计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成及逻辑设计等(常称为计算机组成原理)
计算机实现是指计算机组织的物理实现
2、计算机体系结构分类
1、按处理机数量(宏观)
单处理系统:利用一个处理单元与其他外部设备结合起来,实现储存、计 算、通信、输入和输出等功能的系统
从宏观上按处理机的数量分类 并行处理与多处理系统:为了充分发挥问题求过程中处理的并行性,将两个以上的处理机互连起 来,彼此进行通信协调,便于共同求解一个大问题的计算机系统
分布式处理系统:物理上远距离而松耦合的多计算机系统。其中、物理上的远距离意味着通信时间与处理时间相比已不可忽略,在通信线路上的数据传输速率要比在处理及内部总线上传输慢得多,这也是松耦合的含义
2、按并行程度分类(微观上)
立即寻址方式:特点:操作数直接在指令中,速度快,灵活性差
直接寻址方式:特点:指令中存放的是操作数的地址
间接寻址方式:特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址
寄存器寻址方式:特点:寄存器存放操作数
寄存器间接寻址方式:特点:寄存器内存放的是操作数的地址
指令集体系结构的分类:
操作数在CPU中的存储方式,即操作数从主存中取出后保存在什么地方。
显示操作数的数量,即在典型的指令中有多少个显示命名的操作数
操作数的位置,即任一个ALU指令的操作数能否放在主存中,以及如何定位
指令的操作,即在指令集中提供哪些操作
操作数的类型与大小
复杂指令集计算机(CISC)的主要弊端
CISC的基本思想是进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化,导致机器的指令系统越来越庞大、复杂。事实上,目前使用的绝大多数计算机都属于CISC类型
1、指令集过于庞杂
2、微程序技术是CISC的重要支柱,每一条复杂指令都要通过执行一段解释性微程序才能完成,因此需要多个CPU周期,降低了处理速度
3、由于指令体系过于庞大,使高级语言编译选择目标指令的范围过大,并使编译程序本身冗长、复杂、从而难以优化编译使之生成真正高效的目标代码
4、CISC强调完善的中断控制,势必导致动作繁杂、设计复杂、研制周期长
5、CISC给芯片设计带来很多困难,使芯片种类增多,出错几率增大,成本提高而成品率降低
精简指令集计算机(Reduced Instruction Set RISC)
基本思想是通过减少指令总数和简化指令功能降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序
RISC的关键技术
1、层叠寄存窗口技术
2、优化编译技术
3、超流水及超标量技术
4、在微程序技术中结合硬布线逻辑与微程序
面向高级语言的优化思路时尽量缩小高级语言与机器语言之间的语义差异。面向操作系统的优化思路是进一步缩小操作系统与体系架构之间的语义差异
指令的流水处理
1、指令控制方式有顺序方式、重叠方式和流水方式
2、流水的种类有
1)从流水级别上分:部件级、处理级和系统级的流水
2)从流水功能上分:单功能流水线和多功能流水线
3)从流水连接上分:静态流水线和动态流水线
4)从流水是否反馈回路分:线性流水线和非线性流水线
5)从流水流动顺序上分:同步流水线和异步流线;
6)从流水线的数据表示上分:标量流水线和向量流水线
RISC采用的流水技术有三种:超流水线、超标量、超长指令字
阵列处理机、并行处理机、多处理机的区别
阵列处理机:将重复设置的多个处理单元(PU)按一定的方式连成阵列,在单个控制部件(CU)的控制下,对分配给自己的数据进行处理,并行地完成一条指令所规定的操作
并行处理机:SIMD(Single Instruction Stream Multiple Data Stream)、(Multiple Instruction Stream Multiple Data Stream)是典型的并行计算机、SIMD有共享存储器和分布存储器两种形式
多处理器。由多台处理机组成的系统,每台处理机有属于自己的控制部件,可执行独立的程序,共享一个主存储器和所有外部设备
1、存储器的层次结构
2、存储器的分类
3、相联存储器
相联存储器是一种按内容访问的存储器
4、高速缓存
高速缓存(Cache)的组成、地址映像法 、替换算法、性能分析和多级Cache 的概念
4.1、高速缓存的组成部分:控制部分和储存器部分
4.2、高速缓存中的映像方法:直接映像、全相联映像、组相联映像
4.3、替换算法:常用的算法有随机替换算法、先进先出算法、近期最少使用算法、优化替换算法
4.4、高速缓存的性能分析:命中率是Cache的一个重要指标,而不是最主要的指标。Cache命中率与Cache容量的最大关系是:容量越大,命中率越高
4.5、多级Cache:在多级Cache计算机中分为一级(L1Cache)、二级(L2Cache)等
5、虚拟存储器
虚拟存储(Virtual Memory)技术是把很大的程序(数据)分成许多较小的块,全部存储在辅存中。运行时把要用到的程序(数据)块先调入主存,并且把马上就要用到的程序块从主存调入高速缓存。这样就可以一边运行程序,一边进行所需程序(数据)块的调进或调出。虚拟存储器管理方式的类型
1、页式虚拟存储器
2、段式虚拟存储器
3、段页式虚拟存储
6、外存储器
常用的两种外存储器
1、磁盘存储器:磁盘存取速度较快,具有较大的存储容量,是目前广泛使用的外存储器。硬盘就是最常见的外存储器
2、光盘存储器:是一种采用聚焦激光束在盘式介质上非接触地记录高密度信息地新式存储装置。根据性能和用途,分为只读型光盘(CD-ROM)、只写一次型光盘(WORM)和可擦除型光盘
7、磁盘阵列技术
磁盘阵列是由多台磁盘存储器组成的一个快速、大容量、高可靠性的外存子系统,常见的磁盘阵列称为冗余磁盘阵列(RAID)
1、微型计算机中常用的内存与接口的编码方法
常用的内存与接口的编码方法:
1、内存与接口地址独立的编址方法:两者是完全独立的两个地址空间,它们是完全独立且互相隔离的 缺点:用于接口的指令太少,功能太弱
2、内存与接口地址统一的编址方法:内存地址和接口地址统一在一个公共的地址空间里,即内存单元和接口共用的地址空间。
优点:原则上用于内存的指令全部可以用于接口,大大增强了对接口的操作工程,而且在指令上不再区分内存或接口指令
缺点:整个地址空间被分为两部分,其中一部分分配给接口使用,剩余的为内存所用,导致内存地址不连续。由于用于内存的指令和用于接口的指令是完全一样的,维护程序时需要根据参数定义表加以辨认
2、输入/输出的方式之一:直接程序控制
直接程序控制是指外设设备数据的输入/输出过程是在CPU执行程序的控制下完成的。直接程序控制分为两种情况
1、无条件传送:在此情况下,外设总是准备好的,它可以无条件地随时接受CPU发来地输出数据,也能够无条件地随时向CPU提供需要地输入数据
2、程序查询方法:在此情况下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设地状态,判断外设是否准备好接受数据或准备好向CPU输入数据
这种方法存在两大缺点:降低了CPU地效率,对外部地突发事件无法做出实时响应
3、中断方式:
利用中断方式完成数据输入/输出的过程为:当I/O系统准备好后,发出中断请求信号通知CPU,CPU接到中断请求信号后,保存当前正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被打断的程序继续执行。当I/O系统与外设系统交换数据时,CPU无需等待,也不必去查询I/O的状态,从而可以去处理其他任务。所以,与程序控制的输入/输出方式相比,中断的输入/输出方式因为CPU无需等待而提高了效率
1、中断处理方法
多中断信号法
中断软件查询法
菊花链法
总线仲裁法
中断向量表法
2、在进行中断优先级控制时解决的两种情况
1、当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源
2、当CPU在对某一个中断源服务时,有比它优先级更高的中断源提出中断请求,CPU应暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,结束后再回到之前被中断的优先级较低的中断源服务程序继续执行,这种情况称为中断嵌套,即一个中断服务程序中嵌套着另一个中断服务程序
4、直接存储器存取方式(DMA)
直接存储器存取方式时一种高速数据传输方式,数据不经过CPU就直接在存储器及输入/输出设备之间进行传输。
5、输出/输出处理机(IOP)
IOP数据传输方式包括字节多路方式、选择传送方式和数组多路方式
一般来说,任何俩个以上电子元器件的导线都可以称为总线
2、总线的分类
内部总线、系统总线、外部总线
1、内部总线:CPU、内存、输入、输出设备传递信息的公用通道
2、系统总线:系统总线的性能直接影响计算机性能,常见的总线标准包括ISA总线、EISA总线、PCI总线
3、外部总线:外部总线的标准较多,包括RS-23C、SCSI总线、USB、IEEE-1394、IEEE-488等
计算机安全指的是计算机资产安全,是要保证这些计算机资产不受自然和人为的有害因素的威胁和危害。计算机资产由系统资源和信息资源两大部分组成。系统资源主要包括软件、硬件、配套设施、文件资料,还包括相关的服务系统和业务人员。信息资源包括计算机系统中存储、处理和传输的各种信息
1、信息安全的基本要素
1、机密性:确保信息不暴露给未授权的实体或进程
2、完整性:只有被允许的人才能修改数据,并能判断数据是否已被修改
3、 可用性:得到授权的实体在需要时可访问数据
4、可控性:可控制授权范围内的信息流向及行为方式
5、可审查性:对出现的安全问题提供调查的依据和手段
2、计算机的安全等级
计算机系统中的三类安全性是指:技术安全性,管理安全性,政策法律安全性。重要的安全评估准则有:
1、美国国防部和国家标准局推出的《可信计算机系统评估准则》(TCSEC)
2、加拿大的《可信计算机产品评估准则》(CTCPEC)
3、美国制定的《联邦(最低安全要求)评估准则》(FC)
4、欧洲英、法、德、荷四国国防部门信息安全机构联合制定的《信息技术安全评估准则》(ITSEC)
5、美国指定的《信息技术安全通用评估准则》(CC)
3、安全威胁
4、影响数据安全的因素
主要分为内部因素和外部因素
1、加密技术
加密技术是最常用的安全保密手段,其中密钥加密技术的密码体制分为对称密钥体系和非对称密钥体系两种。相应地,对数据加密地技术分为对称加密(私人密钥加密)和非对称加密(公开密钥加密)
1、对称加密算法
1、数据加密标准(DES):主要采用替换和位移地方法加密
2、三重DES(3DES ,又称TDES)在DES的基础上采用三重DES,效果相当于将密钥的长度加倍
3、RC-5:RC-5是在RCF2040中定义的,RSA数据安全公司的很多产品都在使用RC-5
4、国际数据加密算法(IDEA):在DES算法的基础上发展起来的,类似于三重DES
5、高级加密标准(AES):基于排列的置换运算,排列是对数据重新进行安排,置换是将一个数据单元替换为另一个数据单元
2、非对称加密算法:与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥和私有密钥。两者是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。非对称加密算法有两个不同的体制
2、认证技术
加密是用加密算法对数据进行加密,加密可防止数据泄露,但并不能防止对数据的破坏。而认证可以对数据进行正确性和完整性检查。认证技术有两种,一种是身份认证,二是数字签名。所有与数字证书相关的概念和技术,统称为公钥基础设施 (PKI,PublicKeyInfrastructure),PKI的基本构成部分
数字签名过程及其与数字加密过程的计较