计算机系统知识
计算机系统知识

一、计算机系统的组成
1、冯·诺依曼计算机结构模型

2、中央处理单元CPU
中央处理单元CPU(Central Processing Unit) – CPU构成:运算器、控制器、寄存器组、内部总线。 – CPU功能 – 程序控制:CPU 通过执行指令来控制程序的执行顺序。 – 操作控制:CPU 产生每条指令的操作信号并送往不同的部件,控制相应的部件按指令的功能要求进行操作。 – 时间控制:CPU 对各种操作进行时间上的控制。 – 数据处理:CPU 通过对数据进行算术运算及逻辑运算等方式进行加工处理。(CPU最主要的功能)

3、运算器和控制器基本功能
运算器 – 功能:完成算术运算和逻辑运算,完成对数据的加工和处理。 – 组成:算术/逻辑运算单元(ALU)、累加器ACC、寄存器组、数据总线 控制器 – 功能:控制指令执行。执行指令一般分为4个步骤:取指令、指令译码、按指令操作码执行、形成下一条指令地址。 – 组成:程序计数器(PC)、状态条件寄存器(PSW)、时序产生器、指令寄存器(IR)、指令译码器(ID)、数据寄存器(DR)、地址寄存器(AR)、控制总线 控制器工作过程 – 程序计数器(PC):PC 具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分两种情况,一是顺序执行,二是转移执行。 – 程序开始执行前:将程序的起始地址送入PC,此时PC 的内容即是程序第一条指令的地址。 – 执行指令时:CPU 将自动修改PC,使PC保持的总是将要执行的下一条指令的地址。顺序执行时,PC中地址加1即可;转移执行时保持直接转移的地址。 – 指令寄存器(IR):CPU 执行指令时,先把指令从内存储器取,送入再送入IR暂存。 – 指令译码器(ID):指令分为操作码和地址码两部分,ID从IR中获取当前指令,行指令进行分析,确定指令类型、指令所要完成的操作以及寻址方式,并控制相关部件完成工作。 – 状态条件寄存器(PSW):用于保存指令执行完成后产生的条件。 冯·诺依曼计算机组成:运算器、控制器、存储器、输入设备、输出设备。 CPU构成:运算器、控制器。 运算器:算术/逻辑运算单元(ALU)、累加器ACC、寄存器组、数据总线。 控制器:程序计数器(PC)、状态条件寄存器(PSW)、时序产生器、指令寄存器(IR)、指令译码器(ID)、数据寄存器(DR)、地址寄存器(AR)、控制总线。 执行指令一般分为4个步骤:取指令、指令译码、按指令操作码执行、形成下一条指令地址。
二、计算机信息表示
编码:采用有限的基本符号,通过确定的规则对这些基本符号加以组合用来描述大量的、复杂多变的信息。 信息编码的两大要素:基本符号的种类,符号组合规则。

转换为十进制——位权法 – 二进制转换为十进制 (111)₂ = (1×2²+1×2¹+1×2⁰)₁₀ – 八进制转换为十进制 (157)₈ = (1×8²+5×8¹+7×8⁰)₁₀ – 十六进制转换为十进制 (1CF.A)₁₆ = 1×16²+12×16¹+15×16⁰+10×16⁻¹ 十进制转化为二进制:将(35.6875)₁₀转换成二进制数:


二进制与八进制、十六进制直接的转换 二进制与八进制:2³=8,八进制数的一位相当于二进制数的3位。 例如:(11010101.0100101)₂转换成八进制数 (011 010 101 . 010 010 100)₂ (3 2 5 . 2 2 4)₈ 则:(11010101.0100101)₂=(325.224)₈ 例如:八进制数(652.307)₈转换成二进制数 (6 5 2 . 3 0 7)₈ (110 101 010 . 011 000 111)₂ 即:(652.307)₈=(110101010.011000111)₂ 二进制与十六进制:2⁴=16,十六进制数的一位相当于二进制数的4位。 例如:(10111010101.01111101)₂转换成十六进制数 (0010 1101 0101 . 0111 1010)₂ (2 D 5 . 7 A)₁₆ 即:(10111010101.01111101)₂=(2D5.7A)₁₆ 例如:十六进制数(1C5.1B)₁₆转换成二进制数 (1 C 5 . 1 B)₁₆ (0001 1100 0101 . 0001 1011)₂ 即:(1C5.1B)₁₆=(111000101.00011011)₂ 四则数学运算 – 二进制加法:逢二进一 0+0=0 1+0=1 0+1=1 1+1=10 – 二进制减法:借一当二 0-0=0 1-0=1 1-1=0 10-1=1 – 二进制乘法 0×0=0 1×0=0 0×1=0 1×1=1 – 二进制除法:与乘法相反,除0为非法 1÷1=1 0÷1=0 逻辑运算 – 二进制与运算,又称为逻辑乘 0∧0=00∧1=01∧0=01∧1=1 – 二进制或运算,又称为逻辑加 0∨0=00∨1=11∨0=11∨1=1 – 二进制异或运算 0⊙0=00⊙1=11⊙0=11⊙1=0 数的符号问题 – 最高位“1”表示“-”号,“0”表示“+”号 例:-8:11000;+15:01111 – 机器数:连同符号位一起数值化的数。 – 真值:机器数中除“+”、“-”符号外,其余部分表示的值。 – 每个机器数数据所占的二进制位数受机器硬件规模的限制,与机器字长有关。超过机器字长的数值要舍去。 机器数可分为 – 无符号数:机器字长的所有二进制位均表示数值 – 带符号数:数值部分和符号均用二进制代码表示 – 无符号数(字节):00H~0FFH(8位,0~255) – 带符号数(字节):80H~7FH(8位,-128~+127,最高位S为符号位) 原码:保持原有的数值部分的形式不变,只将符号用二进制代码表示。 纯小数表示: [X]原=X 当 0≤X<1 [X]原=1−X=1+|X|当−1<X≤0 纯整数表示: [X]原=X 当 0≤X<2ⁿ [X]原=2ⁿ−X=2ⁿ+|X|当−2ⁿ<X≤0 例: [0.10011001]原=0.10011001 [−0.10011001]原=1.10011001 [10011001]原=010011001 [−10011001]原=110011001 原码中0的表示不唯一 – 纯小数原码 [+0]原=0.00…0 [-0]原=1.00…0 – 纯整数原码 [+0]原=00…0 [-0]原=10…0 原码的移位规则 – 符号位不变,数值部分左移或右移,移出的空位填“0”。 例: [0.0110000]原=0.0110000 [0.0110000]原÷2=0.0011000 2×[0.0110000]原=0.1100000 反码与原码的关系 若 x≥0,则[x]反=[x]原 若 x<0,则将除符号位以外的[x]原各位取反(符号位不变),即得到[x]反 若x<0,将除符号位以外的[x]反的各位取反(符号位不变),即得到[x]原 例: x=+0.1001100,则[x]反=0.1001100 x=-0.1001100,则[x]反=1.0110011 x=+1001100,则[x]反=01001100 x=-1001100,则[x]反=10110011 引入补码的目的是为了解决原码表示在加减运算时的不便,使得减法也可以按照加法的来计算。 模的概念:5−2=5+8=3(mod 10),对于某一确定的模,某数减去一个数,可以用加上那个数的负数的补数来代替。 – 若 x≥0,[x]补=M+x(mod M)=x,正数的补数等于其本身。 – 若 x<0,[x]补=M+x=M−|x|,所以负数的补数等于模与该数绝对值之差。 对于纯小数表示,通常取模M=2 对于纯整数表示,通常取模M=2ⁿ⁺¹ 补码的移位规则 – 右移规则:符号位不变,数值位各位向右移位,高位移空位置补与符号位相同的代码。 – 左移规则:连同符号位同时左移,低位移空位置补0。如果移位后符号位与移位前符号位不一致,说明移位出错。 例: [x]补=1.0011010 [x/2]补=1.1001101 [x]补=0.0110010 [x/2]补=0.0011001 [x]补=10110010 [x/2]补=11011001 [x]补=1.1111010 [2x]补=1.1110100 [x]补=10110010 [2x]补=01100100 移码也称为增码、余码,主要用于表示浮点数的阶码,因此一般表示整数。 移码的定义 – 纯小数移码:[x]移=1+x,−1≤x<1 – 纯整数移码:[x]移=2ⁿ+x,−2ⁿ≤x<2ⁿ 移码特点 – 移码中“0”的表示是唯一的:[+0]移=[−0]移=10…0(纯整数) – 移码的表数范围与补码一致 移码与补码的关系: 整数补码的数值部分不变,符号取反,即得整数移码。反之亦然。即: – 若 x≥0,[x]移=[x]补+2ⁿ – 若x<0,[x]移=[x]补−2ⁿ 例: x=+1101010,[x]补=01101010,[x]移=11101010 x=−1101010,[x]补=10010110,[x]移=11101010

三、计算机体系结构
计算机系统结构(computer architecture)是指计算机的概念性结构、功能和性能特性。 计算机体系结构分类 – 宏观上按处理机的数量分类:单处理系统、并行处理与多处理系统、分布式处理系统。 – 微观上按并行程度分类: – Flynn(弗林)分类法:按指令流和数据流的多少进行分类,分为:SISD、SIMD、MISD、MIMD。 – Kuck(库克)分类法:用指令流和执行流进行分类,分为:SISE、SIME、MISE、MIME。 机器指令:计算机能够识别并执行的基本操作,特定的一串二进制码。

指令集分类 – 按暂存机制分类:堆栈、累加器、寄存器集。 – 按设计与优化分类: – CISC (Complex Instruction Set Computer,复杂指令集计算机)– RISC (Reduced Instruction Set Computer,精简指令集计算机)CISC(复杂指令集计算机)的特点 ①指令集过分庞杂,指令长短不一。 ②每条指令都要通过微程序才能完成,增加了CPU周期,降低了机器的处理速度。 ③由于指令系统过分庞大,使高级语言编译程序选择目标指令的范围很大,并使编译程序本身冗长而复杂,难以优化目标代码。 ④CISC 强调完善的中断控制,势必导致动作繁多,设计复杂,研制周期长。 ⑤CISC 给芯片设计带来很多困难,使芯片种类增多,出错几率增大,成本提高而成品率降低。 RISC(精简指令集计算机)的特点 ①指令长度固定、指令格式种类少。 ②降低硬件设计的复杂度,使指令能单周期执行。 ③优化编译,提高指令的执行速度。 ④采用硬线控制逻辑,优化编译程序。 ⑤采用三种流水技术:超流水线、超标量、超长指令字VLIW,提高了并发度。 流水线技术是通过并行硬件来提高系统性能的常用方法,是一种任务的分解技术;将一件任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构负责执行,而这些机构可以同时并行工作。

吞吐率:单位时间里流水线处理机流出的结果数。 p=1/MAX{△tᵢ} 流水线建立时间:若m个子过程所用时间一样,均为Δt₀,则建立时间T₀ = mΔt₀。 并行性:并行性包括同时性和并发性两个侧面。 – 同时性:指两个或两个以上事件在同一时刻发生。 – 并发性:指两个或两个以上的事件在同一时间间隔内连续发生。
计算机存储系统主要用于保存数据和程序,存储系统追求:高速存取、大容量和低成本。解决这一难点的方法就是采用多级存储体系结构。

按存储器所处位置 – 内存(主存):存储当前正在执行的程序、数据。存取速度快、容量小,断电可能丢失数据。 – 外存(辅存):用来存放需要长期保留的数据。存取速度较慢、容量大、断电不会丢失数据。

随机存储器(Random Access Memory,RAM) * 计算机主存,常见即内存条 * 特点:可读可写、断电丢失 只读存储器(Read Only Memory,ROM)– 用于存放固化的、不变的信息,如主板系统程序。 – 特点:只读、断电不丢失 – ROM的分类 – 可编程ROM(PROM):可写入操作,但仅允许写一次。 – 可擦除可编程ROM(EPROM):可反复擦写 – 电可擦除可编程ROM(EEPROM):可反复擦写,擦除方式采用高电场完成 高速缓冲存储器(Cache) – 为内存与CPU交换数据提供缓冲区,以解决内存与CPU速度的不匹配问题。 按存储器的构成材料 – 磁存储器。是用磁性介质做成的,如磁带、磁盘、U盘等。 – 半导体存储器。以半导体电路作为存储媒体的存储器,如内存。 – 光存储器。如光盘存储器。 按寻址方式 – 随机存储器:这种存储器可对任何存储单元存入或读取数据,访问任何一个存储单元所需的时间是相同的。 – 顺序存储器:访问数据所需要的时间与数据所在的存储位置相关,如磁带。 – 直接存储器:介于随机存取和顺序存取之间的一种寻址方式。磁盘是一种直接存取存储器,它对磁道的寻址是随机的,而在一个磁道内则是顺序寻址。 存储器单元和性能 – 字(word):字是存储器组织的基本单元,其实际大小依赖于具体的机器实现。一个字的二进制位数称为字长。 – 存取时间t:对于随机存取,存取时间就等于完成一次读或写所花的时间。 – 存储周期:主要是针对随机存取而言,一个存储周期就等于两次相邻的存取之间所需的时间。 – 数据传输率:每秒钟输入/输出的数据位数。对于随机存取而言,数据传输率是存储器周期的倒数。 – 存储器带宽:每秒钟能访问的位数。如果存储器周期是500ns,而每个周期可访问4字节,则带宽为64Mbps。 高速缓冲存储器(Cache):为内存与CPU交换数据提供缓冲区,以解决内存与CPU速度的不匹配问题,用来存放当前最活跃的程序和数据,作为主存局部域的副本。 – 理论依据:局部性原理(空间局部性和时间局部性) 高速缓存中的地址映像 在CPU工作时,送出的是主存的地址,而应从Cache存储器中读写信息。这就需要将主存地址转换成Cache存储器的地址,这种地址的转换叫做地址映像。 地址映像有三种方法:直接映像、全相联映像和组相联映像。

直接映像:主存的块与Cache中块的对应关系是固定的。 – 主存中的块只能存放在Cache存储器的相同块号中。 – 只要主存地址中的主存区号与Cache中的主存区号相同,则表明访问Cache命中。 – 以主存地址中的区内块号立即可得到要访问的Cache存储器中的块。

全相联映像:主存的块与Cache中块的对应关系是不固定的,允许主存的任一块可以调入Cache存储器的任何一个块的空间中。 – 利用主存地址高位表示的主存块号与Cache中的主存块号进行比较,若相同即为命中。 – 块内地址就是主存的低位地址。 – 十分灵活,但缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。

组相联映:直接相联映像与全相联映像的折中。 – Cache中的块分组,主存区的块也对应分组。 – 主存任何区的0组只能存到Cache的0组中,1组只能存到Cache的1组中,以此类推。 – 组内的块则采用全相联映像方式,即一组内的块可以任意存放。主存一组中的任一块可以存入Cache相应组中任一块中。

不管是连续分配方式(分区存储管理),还是离散分配方式(分页存储管理、分段存储管理、段页式存储管理)都有两个重要的特征: – 一次性:程序必须全部装入才能执行。 – 驻留性:程序直到执行完毕,都驻留在内存不换出。 这样导致内存使用率下降,很多阻塞作业占据了本该执行的作业空间。

对换(Swapping)技术 – 基本概念:①将阻塞进程,暂时不用的程序,数据换出内存;②将具备运行条件的进程换入内存。 – 引入目的:提高内存利用率,实现虚拟存储 对换区所采用数据结构和分配回收类似于可变化分区分配。 虚拟存储实现的主要方式 – 请求分页系统 – 请求分段系统 – 请求段页系统

磁盘阵列:由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。 常见的称为廉价冗余磁盘阵列(RAID)。

I/O控制方式分如下四种,其目标是,尽量减少CPU对I/O控制的干预。 – 速度越来越快 – 须CPU干预越来越少 – 并行度越来越高

计算机系统各部件之间的通信,都是通过总线来实现的。总线性能指标一般有:时钟频率、带宽、传输速率。 根据传递的数据类型分: – 地址总线 – 数据总线 – 控制总线 根据连接电器元件类型分: – 内部总线。用于芯片一级的互连,分为芯片内总线和元件级总线。 – 系统总线。用于插件板一级的互连,用于构成计算机各组成部分(CPU、内存和接口等)的连接。如ISA、EISA、PCI 总线等。 – 外部总线。又称通信总线,用于设备一级的互连,通过该总线和其他设备进行信息与数据交换。如RS-232C、SCSI、USB等。

四、计算机安全
计算机安全是指计算机资产(系统资源和信息资源)的安全,不受自然和人为的有害因素的威胁和危害。 信息安全的基本要素: 1. 机密性:确保信息不暴露给未受权的实体或进程。 2. 完整性:只有得到允许的人才能修改数据,并能够判别出数据是否已被篡改。 3. 可用性:得到授权的实体在需要时可访问数据。 4. 可控性:可以控制授权范围内的信息流向及行为方式。 5. 可审查性:对出现的安全问题提供调查的依据和手段。 计算机系统中的三类安全性:技术安全性、管理安全性、政策法律安全性。 为了使用户或制造商有可循的指导规则,对其计算机系统内敏感信息安全操作的可信程度做评估,1985年美国国防部正式颁布《可信计算机系统评估标准》(TCSEC)。 TCSEC安全等级 – 四组七个等级 – 按系统可靠或可信程度逐渐增高 – 各安全级别之间具有一种偏序向下兼容的关系。

安全威胁分为两类:故意(如黑客渗透)和偶然(如信息发往错误的地址)。 典型的安全威胁如下:

数据加密的基本过程就是对原来为“明文”的文件或数据按某种加密算法进行处理,使其成为不可读的“密文”。 被动攻击:攻击者只是监听密码通信信道上所有信息。 主动攻击:攻击者对通信信道上传输的消息进行截取、修改甚至主动发送信息。

数据加密的技术分为两类:对称加密(私人密钥加密)和非对称加密(公开密钥加密)。 – 对称加密:使用相同的密钥加密和解密信息,即通信双方建立并共享一个密钥。 DES数据加密标准:采用替换和移位方法加密,密钥为56位。 三重DES(3DES):在DES的基础上采用三重DES。 RC-5:是由Ron Rivest(公钥算法的创始人之一)在1994年开发出来的。 IDEA国际数据加密:似于三重DES,密钥为128位。 AES高级加密标准:基于排列和置换运算加密算法。

非对称加密:也称公开密钥加密算法,用一对密钥:公钥和私钥。用公钥对数据进行加密,只有用对应的私有钥才能解密,反之亦然。

公开密钥加密算法主要有:RSA、Diffie—Hellman等 优点:消除了最终用户交换密钥的需要。 缺点:加密和解密花费时间长、速度慢,不适合对文件加密,只适用于对少量数据进行加密。 密钥管理:管理密钥对的安全,包括密钥产生、密钥备份、密钥恢复、密钥更新等。 认证技术主要解决网络通信过程中通信双方的身份认可。

交易特点——双向签名技术 1、商家无法知道客户信用卡信息 2、银行也无法知道订单的详细信息 3、任何一方都不可抵赖
五、计算机系统的可靠性
计算机系统常见可靠性指标 – 可靠性R(t):系统从开始运行到某时刻t这段时间内能正常运行的概率。 – 失效率λ:是指单位时间内失效的元件数与元件总数的比例。 – 平均无故障时间MTBF:两次故障之间系统能正常工作的时间的平均值。MTBF=1/λ – 平均修复时间MTTR:即可维修性S,指从故障发生到修复平均所需要的时间。 – 可用性A:计算机的使用效率。A=MTBF/(MTBF+MTTR)计算机的RAS技术就是指用可靠性R、可用性A和可维修性S三个衡量指标。 可靠性模型:通过建立数学模型,把大系统分割成若干子系统,可以分析计算机系统的可靠性。 串联模型:当且仅当所有的子系统都能正常工作时,系统才能正常工作。 并联模型:只要有一个子系统正常工作,系统就能正常工作。 常见基准测试程序 – 整数测试程序Dhrystone:数值越大,性能越好。 – 浮点测试程序Linpack 和Whetstone – SPEC 基准程序:是一套复杂的基准程序集,能较全面地反映机器的综合性能。 – TPC 基准程序:评价计算机事务处理性能的。