第一章 计算机系统知识
1.1计算机系统基础知识
1.1.1计算机系统硬件基本组成
- 知识点
- 冯·诺依曼结构是现代计算机的基础架构。计算机硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
- 运算器:能进行算术运算(如加、减、乘、除等)和逻辑运算(如与、或、非等)。它的核心部件是算术逻辑单元(ALU)。
- 控制器:是计算机的指挥中心,它通过指令计数器、指令寄存器、译码器等部件来协调和控制计算机各部件按序工作。
- 存储器:分为内存储器(主存)和外存储器。主存包括随机存取存储器(RAM)和只读存储器(ROM),RAM可读写但断电后数据丢失,ROM只能读不能写,断电后数据不丢失;外存常见的有硬盘、光盘、U盘等,用于长期存储数据。
- 输入设备:如键盘、鼠标、扫描仪等,将外部信息转换为计算机能处理的二进制信号。
- 输出设备:像显示器、打印机、绘图仪等,将计算机处理后的结果转换为人们能理解的形式。
- 考点
- 可能考查计算机硬件各组成部分的功能,如运算器进行的运算类型、控制器的作用机制。
- 区分RAM和ROM的特点,以及它们在不同场景下的应用。
- 给定一些设备,判断是输入设备还是输出设备,或者考查输入/输出设备与计算机系统交互的方式。
1.1.2中央处理单元
- 知识点
- CPU主要由运算器和控制器组成。
- CPU的性能指标包括主频(时钟频率,是CPU内部时钟信号的频率)、字长(CPU一次能处理的二进制位数)、多核(一个CPU芯片包含多个处理核心,能同时处理多个任务)、缓存(用于存储CPU近期可能会频繁访问的数据和指令)等。
- 指令周期:是指CPU从内存取出一条指令并执行这条指令的时间总和,包括取指周期、间址周期、执行周期和中断周期。
- 考点
- 对CPU性能指标的理解和计算,如根据主频和指令执行周期计算每秒执行的指令数。
- 指令周期各阶段的功能以及它们之间的顺序。
- 考查多核CPU的工作原理和优势,如在多任务处理、多线程程序中的性能体现。
1.1.3数据表示
- 知识点
- 数制转换:包括二进制、八进制、十进制、十六进制之间的相互转换。
- 机器数:计算机中用二进制表示的带符号数,有原码、反码和补码三种表示方法。原码是符号位加上真值的绝对值;反码是原码的符号位不变,其余位取反;补码是反码加1。
- 定点数和浮点数:定点数是小数点固定的数,分为定点整数和定点小数;浮点数由阶码和尾数两部分组成,用于表示范围较大的实数,遵循IEEE 754标准。
- 字符编码:ASCII码是最常见的字符编码,用7位二进制表示128个字符;扩展ASCII码用8位表示;Unicode是一种全球统一的字符编码标准,能表示世界上几乎所有的字符。
○ 原码、反码、补码的定义与转换 § 原码:最高位表示符号(0为正,1为负),其余位表示数值本身。 § 反码:正数的反码与其原码相同;负数的反码是其原码除符号位外各位取反。 § 补码:正数的补码与其原码相同;负数的补码是其反码加1。
补码的加减法运算 § 加法:直接将两个补码相加,若产生溢出,则舍弃最高位的进位。 减法:将被减数的补码与减数的补码(取反加1)相加。
浮点数表示
○ 浮点数的表示方法(IEEE 754标准) ( 该标准规定基数为2, 阶码E用移码 表示, 尾数M用原码表示)
§ 单精度(32位):1位符号位,8位指数位,23位尾数位。
§ 双精度(64位):1位符号位,11位指数位,52位尾数位。
○ 浮点数的规格化与范围
§ 规格化:尾数部分隐含一个前导的1,不写入内存。 范围:单精度可以表示的最大范围约为±3.4×1038,双精度约为±1.8×10308。
- 考点
- 不同数制转换的计算,特别是十进制与二进制、十六进制之间的转换。
- 原码、反码、补码之间的转换,以及给定机器数的表示形式求其真值。
- 定点数和浮点数的表示范围和精度计算,以及IEEE 754标准下浮点数的格式和数值计算。
- ASCII码和Unicode编码的字符表示范围和转换,如已知字符的ASCII码值求其对应的字符。
1.1.4校验码
- 知识点
- 奇偶校验码:在数据编码中增加一位校验位,使整个码字(包括数据位和校验位)中“1”的个数为奇数(奇校验)或偶数(偶校验)。只能检测奇数个错误,不能纠错。
- 海明校验码:具有检错和纠错能力。通过在数据位之间插入多个校验位,根据校验位与数据位之间的关系形成校验方程,能够定位错误位并进行纠正。
- 循环冗余校验码(CRC):基于多项式除法运算。发送方将数据对应的多项式除以生成多项式得到余数作为校验码,接收方用收到的数据(包括原始数据和校验码)除以相同的生成多项式,若余数为0则认为数据正确,否则表示出错。
- 考点
- 奇偶校验码的编码规则和错误检测原理,给定数据计算奇偶校验位,或者根据收到的数据判断是否有错误。
- 海明校验码的校验位计算、校验方程的建立和错误定位的方法,可能会要求设计一个海明校验码系统或者分析给定海明校验码系统的性能。
- CRC校验码的生成多项式选择、校验码计算和验证过程,以及在数据传输场景中的应用,如计算给定数据的CRC校验码,或者在收到数据后判断数据是否正确传输。
1.2计算机体系结构
1.2.1计算机体系结构的发展
- 知识点
-
从早期简单的计算机体系结构发展到冯·诺依曼体系结构,其特点是存储程序和程序控制。
-
随着技术进步,出现了多种体系结构,如哈佛结构(数据存储和指令存储分开)、流水线技术(将指令执行过程分解为多个阶段,多条指令可以在不同阶段同时执行,提高CPU效率)、超标量技术(在一个时钟周期内能够同时发射多条指令)等。
-
-
现代计算机体系结构向多核、多线程、异构计算等方向发展,以满足日益增长的高性能计算需求。
-
- 考点
- 冯·诺依曼体系结构的基本特点和工作原理。
- 哈佛结构与冯·诺依曼结构的区别,以及各自的优势。
- 流水线技术的基本原理、性能提升的计算(如加速比的计算),还有流水线中的数据相关、控制相关和结构相关等问题。
- 超标量技术的概念和实现方式,以及它对CPU性能的影响。
1.2.2存储系统
- 知识点
- 存储层次结构:从高速缓存(Cache)、主存储器到外存储器,形成了一个速度由快到慢、容量由小到大的存储层次。
- Cache:工作原理基于程序局部性原理(包括时间局部性和空间局部性)。Cache与主存之间的数据交换单位是块。Cache的映射方式有直接映射、全相联映射和组相联映射。
- 主存储器:主要性能指标有存储容量、存储周期等。存储芯片的扩展方式有位扩展、字扩展和字位扩展。
- 虚拟存储系统:通过硬件和软件相结合的方式,把主存和外存统一管理起来,为用户提供一个比实际主存空间大得多的虚拟存储空间。包括页式虚拟存储、段式虚拟存储和段页式虚拟存储。
层次化存储器结构是一种在计算机存储系统中,将多种不同性能和成本的存储设备按层次组合起来的存储体系。
一般来说,靠近CPU的存储层次速度快、容量小、成本高;离CPU较远的存储层次速度慢、容量大、成本低。这样的层次结构主要包括寄存器、高速缓存(Cache)、主存储器(内存)和辅助存储器(如硬盘、光盘等)。寄存器是位于CPU内部的存储单元,速度最快,用于暂存指令、数据和地址,方便CPU快速访问。高速缓存是为了弥补CPU和主存之间速度差异而设置的小容量高速存储器,存储CPU近期可能会频繁使用的信息。主存储器用于存储正在运行的程序和数据,容量比高速缓存大,但速度稍慢。辅助存储器容量很大,用于长期存储数据和程序,不过其读写速度比主存慢很多。
例如,当CPU需要读取数据时,先在速度最快的寄存器和高速缓存中寻找,如果没找到,再从主存中查找,最后才考虑辅助存储器,这种分层的存储结构可以在性能和成本之间达到平衡。
存储器有以下几个主要性能指标:
存储容量
- 指存储器能够存储的二进制信息总量,通常用字节(Byte)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)等来衡量。例如,一个硬盘的存储容量是1TB,这意味着它可以存储大量的数据、文件和程序。
存储速度
- 存取时间(Access Time):是指从启动一次存储器操作到完成该操作所经历的时间。对于随机存取存储器(RAM),这包括读出时间和写入时间。比如,从发出读取一个数据的指令,到数据被送到数据总线上的时间就是存取时间。
- 存储周期(Memory Cycle):是指连续两次独立的存储器操作(如连续两次读操作)之间所需的最短时间。存储周期通常略大于存取时间,因为在完成一次存取后,存储器需要一些时间来恢复状态,准备下一次操作。
- 带宽:存储器带宽是指单位时间内存储器能够传输的数据量,通常用字节 / 秒(B/s)或位 / 秒(bit/s)来衡量。它反映了存储器的数据传输能力。例如,一个存储器的带宽是 16GB/s,这意味着每秒可以传输 16 吉字节的数据。
带宽与存储周期密切相关,存储周期越短,在单位时间内可以传输数据的次数就越多,带宽就可能越高。而且它也受存储设备接口、内部数据通路宽度等因素的影响。比如,DDR4 内存相比 DDR3 内存,有着更高的带宽,能够更快速地为 CPU 提供数据,这是因为 DDR4 内存采用了更先进的技术来增加数据传输的速率。
可靠性
- 一般用平均故障间隔时间(MTBF)来衡量,即两次相邻故障之间的平均工作时间。MTBF越长,说明存储器越可靠。例如,一个MTBF为10万小时的存储器,在正常使用情况下,平均每10万小时才会出现一次故障。
功耗
-
存储器在工作过程中的功率消耗情况。在一些对能源敏感的设备(如移动设备)中,低功耗的存储器是非常重要的。例如,固态硬盘(SSD)通常比传统硬盘功耗低,这有助于延长移动设备的电池续航时间。
-
考点
- 根据程序局部性原理分析Cache命中率的影响因素,以及Cache容量、块大小等对性能的影响。
- 三种Cache映射方式的原理、优缺点和地址转换过程,可能会要求计算Cache的命中率、平均访问时间等。
- 主存存储芯片扩展的计算,如给定存储芯片的规格和存储系统的要求,计算需要的芯片数量和连接方式。
- 虚拟存储系统的基本原理,如页表的作用、缺页中断的处理过程,以及不同虚拟存储管理方式的特点和地址转换机制。
1.2.3输入/输出技术
- 知识点
- 程序查询方式:CPU不断查询I/O设备的状态寄存器,当设备准备好后才进行数据传输。这种方式CPU利用率低。
- 中断方式:I/O设备准备好数据后向CPU发出中断请求,CPU响应中断暂停当前任务,转去处理I/O操作,处理完后再返回原来的任务。能提高CPU利用率。
- 直接存储器访问(DMA)方式:允许I/O设备直接与主存储器进行数据交换,不需要CPU干预。适用于大量数据的高速传输。
- I/O接口:是连接CPU、主存和I/O设备的桥梁,包括数据端口、状态端口和控制端口等,负责实现数据缓冲、信号转换等功能。
- 考点
- 程序查询方式、中断方式和DMA方式的工作流程和性能比较,如计算不同方式下CPU用于I/O操作的时间比例。
- 中断处理的过程,包括中断请求、中断响应、中断服务程序执行和中断返回,以及中断优先级的概念和处理机制。
- DMA方式的传输过程,如DMA控制器的功能、数据传输的起始地址和长度设置,以及DMA方式与其他I/O方式的结合使用。
- I/O接口的功能和结构,以及不同类型I/O接口(如并行接口、串行接口)的特点和应用场景。
1.2.4总线结构
- 知识点
- 总线是一组能为多个部件分时共享的公共信息传送线路,分为数据总线、地址总线和控制总线。
- 数据总线用于传送数据信息,其宽度(位数)决定了一次能传输的数据量;地址总线用于传送地址信息,其位数决定了可寻址的内存空间大小;控制总线用于传送控制信号,如读写信号、中断信号等。
- 常见的总线标准有ISA总线、PCI总线、PCI - Express总线等,不同的总线标准有不同的性能特点,如传输速率、可扩展性等。
- 考点
- 总线的分类和功能,根据给定的信息判断数据在总线上的传输方向(如读操作还是写操作)。
- 计算可寻址空间大小(根据地址总线位数)和一次传输的数据量(根据数据总线位数)。
- 不同总线标准的特点和应用场景,如比较PCI总线和PCI - Express总线在传输速率、兼容性等方面的差异。
1.3安全性、可靠性与系统性能评测基础知识
1.3.1计算机安全概述
- 知识点
- 计算机安全包括物理安全和逻辑安全。物理安全是指对计算机硬件设备、机房环境等的安全保护;逻辑安全主要涉及软件系统、数据安全等方面。
- 安全威胁包括人为威胁(如黑客攻击、恶意软件)和自然威胁(如火灾、地震等)。
- 安全策略包括访问控制策略(如自主访问控制、强制访问控制)、加密策略、备份策略等。
- 考点
- 区分物理安全和逻辑安全的具体措施和保护对象。
- 识别常见的安全威胁类型,如根据描述判断是哪种网络攻击方式(如病毒、蠕虫、木马等)。
- 理解不同访问控制策略的原理和应用场景,如在给定的系统中选择合适的访问控制策略。
1.3.2加密技术和认证技术
- 知识点
- 加密技术:
- 对称加密:加密和解密使用相同的密钥,如DES、AES等算法。优点是加密速度快,缺点是密钥管理困难。
- 非对称加密:使用一对密钥(公钥和私钥),公钥用于加密,私钥用于解密,如RSA算法。用于数字签名、密钥交换等场景。
- 哈希函数:将任意长度的消息映射为固定长度的哈希值,用于数据完整性验证。常见的哈希算法有MD5、SHA - 1等。
- 认证技术:
- 身份认证:通过用户名/密码、智能卡、生物识别(指纹、虹膜等)等方式确认用户身份。
- 消息认证:验证消息的来源和完整性,通常结合加密技术和哈希函数来实现。
- 数字证书:由权威机构颁发,包含用户的公钥等信息,用于在网络通信中验证身份。
- 加密技术:
- 考点
- 对称加密和非对称加密算法的原理、特点和应用场景,如给定加密需求选择合适的加密算法。
- 哈希函数的性质(如单向性、抗碰撞性)和作用,计算给定数据的哈希值。
- 不同身份认证方式的优缺点,如比较用户名/密码认证和生物识别认证的安全性和便利性。
- 数字证书的格式、颁发过程和验证方法,以及在网络安全通信中的作用。
1.3.3计算机可靠性
- 知识点
- 可靠性指标:包括平均无故障时间(MTBF)、平均故障修复时间(MTTR)、可用性(Availability),可用性计算公式为 A v a i l a b i l i t y = M T B F M T B F + M T T R Availability=\frac{MTBF}{MTBF + MTTR} Availability=MTBF+MTTRMTBF。
- 冗余技术:通过增加备份资源来提高系统可靠性,如硬件冗余(双机热备、磁盘阵列等)和软件冗余(软件容错技术)。
- 容错技术:使系统在部分组件出现故障时仍能正常工作,如检错码和纠错码在存储系统中的应用,以及基于多版本程序设计的软件容错方法。
- 考点
- 根据给定的MTBF和MTTR值计算可用性,或者根据可用性要求计算MTBF或MTTR。
- 硬件冗余和软件冗余的具体实现方式和工作原理,如磁盘阵列的不同级别(RAID 0 - RAID 6)的特点和数据存储方式。
- 容错技术在计算机系统中的应用案例分析,如在数据库系统或服务器系统中如何实现容错。
1.3.4计算机系统的性能评价
- 知识点
- 性能指标:包括响应时间(从用户提交请求到系统响应的时间)、吞吐量(单位时间内系统完成的任务数量)、CPU利用率、内存利用率等。
- 性能评价方法:
- 实测法:通过运行实际的应用程序或基准测试程序(如SPEC CPU、TPC - C等)来测量系统性能。
- 模拟法:利用模型来模拟系统的行为和性能,如排队论模型用于模拟系统中的资源等待情况。
- 分析法:通过对系统的结构和工作原理进行分析来评估性能,如根据CPU的指令执行速度和存储系统的访问时间计算系统性能。
- 考点
- 不同性能指标的含义和计算方法,如给定系统运行情况计算响应时间或吞吐量。
- 各种性能评价方法的特点和适用场景,如选择合适的方法来评估一个大型数据库系统的性能。
- 根据性能评价结果对系统进行优化,如如何提高系统的响应时间或吞吐量。