软件设计师备考笔记(一):计算机系统知识

本文详细介绍了计算机系统的基础知识,包括硬件组件、中央处理单元的功能、数据表示与校验、指令系统(CISC与RISC)、存储系统结构、输入/输出技术、总线结构以及安全性、可靠性和系统性能评测的关键概念和技术。
摘要由CSDN通过智能技术生成


一、计算机系统基础知识

(一)计算机系统硬件基本组成

  1. 计算机的基本硬件:运算器、控制器、存储器、输入设备、输出设备。

(二)中央处理单元

  1. CPU的主要功能:程序控制、操作控制、时间控制、数据处理。

  2. CPU的主要组成:运算器、控制器、寄存器组和内部总线等。

  3. 运算器:数据加工处理部件,执行所有算术运算、逻辑运算和逻辑测试。

    a. 算术逻辑单元(ALU):负责处理数据,实现对数据的算术运算和逻辑运算。

    b. 累加寄存器(AC):为ALU运算提供工作区,存放操作数和运算结果。

    c. 数据缓冲寄存器(DR):作为数据传送的中转站,缓冲操作速度。

    d. 状态条件寄存器(PSW):保存运算条件码,主要分为状态标志和控制标志。

  4. 控制器:保证程序的正确执行,处理异常事件。

    a. 指令寄存器(IR):接受内存储器取到缓冲寄存器中的指令进行暂存。

    b. 程序计数器(PC):寄存后继指令的地址,计数。

    c. 地址寄存器(AR):保存当前CPU所访问的内存单元的地址。

    d. 指令译码器(ID):根据IR的内容产生各种微操作指令,指令包括操作码和地址码。

  5. CPU中的主要寄存器:数据缓冲寄存器(DR)、指令寄存器(IR)、程序计数器(PC)、数据地址寄存器(AR)、通用寄存器、程序状态字寄存器(PSWR),其中对用户透明的寄存器包括AR、DR、IR。

  6. 指令操作数的几种寻址方式。

    a. 立即寻址:操作数就包含在指令中。

    b. 直接寻址:操作数存放在内存单元,指令给出操作数所在地址。

    c. 寄存器寻址:操作数存放在寄存器中,指令给出操作数所在寄存器。

    d. 寄存器间接寻址:操作数存放在内存单元,指令给出存放内存单元地址的寄存器。

    e. 间接寻址:指令给出存放操作数地址的地址。

    f. 相对寻址:指令地址给出一个偏移量,操作数地址等于本条指令的地址加上该偏移量。

    g. 变址寻址:操作数地址等于变址寄存器的内容加偏移量。

(三)数据表示

  1. 计算机的基本单位:bit、Byte、KB、MB、GB、TB。

  2. 不同进制之间的转换和计算。

  3. 机器数的几种编码方式:原码、反码、补码、移码。

    a. 数值0的原码和反码有两种形式,而补码和移码有唯一的表示形式。

    b. 若机器字长为n,规定偏移量为 2 n − 1 2^{n-1} 2n1,则整数的移码为其补码符号位取反。

    c. 把一个数的补码作为新的原码再求一次补码,能得到这个数的原先的原码。

    d. 计算机系统中常采用补码来表示和运算数据是因为可以简化计算机运算部件的设计。

  4. 定点数和浮点数。

    a. 浮点表示法:一个二进制数N可以表示为更一般的形式 N = 2 E × F N=2^E×F N=2E×F,其中E为阶码,F为尾数。

    b. 浮点数规格化是将尾数的绝对值限定在[0.5,1]区间,当尾数用补码表示时,若M≥0则规格化后M=0.1XXX…X,若M<0则规格化后M=1.0XXX…X。

    c. 如果浮点数的阶码(包括阶符)用R位移码表示,尾数(包括数符)用M位的补码表示,则这种浮点数的数值范围为 − 1 × 2 2 R − 1 − 1 -1×2^{2^{R-1}-1} 1×22R11 ~ + ( 1 − 2 − M + 1 ) × 2 2 R − 1 − 1 +(1-2^{-M+1})×2^{2^{R-1}-1} +(12M+1)×22R11

    d. 工业标准IEEE754: ( − 1 ) S 2 E ( b 0 b 1 b 2 b 3 … b p − 1 ) (-1)^S2^E(b_0b_1b_2b_3…b_{p-1}) (1)S2E(b0b1b2b3bp1) ( − 1 ) S (-1)^S (1)S为数符,E为移码表示的指数, ( b 0 b 1 b 2 b 3 … b p − 1 ) (b_0b_1b_2b_3…b_{p-1}) (b0b1b2b3bp1)为原码表示的尾数。

(四)校验码

  1. 奇偶校验码:通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),码距为2,可以检错但不能纠错。包括水平奇偶校验码、垂直奇偶校验码和水平垂直校验码。

  2. 海明码:在数据为之间的特定位置插入k个校验位,码距为3,可以检错和纠错。设数据位是n位,校验位是k位,则n和k必须满足 2 k − 1 ≥ n + k 2^k-1≥n+k 2k1n+k

  3. 循环冗余校验码:利用生成多项式为k个数据位产生r个冗余校验位来进行编码,再校验码位数越多,该代码校验能力就越强,码距为1,可以检错但不能纠错。在求CRC编码时,采用的是模2运算,加减按位运算不发生借位和进位。


二、计算机体系结构

(一)指令系统

  1. CISC和RISC是指令集发展的两种途径。

    a. 复杂指令集计算机(CISC):指令种类丰富、复杂、长度变化、寻址多样、采用微程序控制技术。目前绝大多数计算机属于这个类型。

    b. 精简指令集计算机(RISC):指令种类较少、精简、长度固定、寻址相对较少,采用硬布线逻辑与微程序相结合的组合逻辑控制器,使用了大量的寄存器。

  2. 指令的流水线技术。

    a. 指令控制方式:顺序方式、重叠方式、流水方式。

    b. 流水线实际吞吐率: T P = n ∑ i = 0 k ∆ t i + ( n − 1 ) m a x { ∆ t 1 , ∆ t 1 , … ,∆ t m } TP=\frac{n}{{\sum_{i = 0}{k}∆t_i}+(n-1)max\lbrace∆t_1,∆t_1,…,∆t_m\rbrace} TP=i=0kti+(n1)max{t1,t1,tm}n

    c. 流水线最大吞吐率: T P = 1 m a x { ∆ t 1 , ∆ t 1 , … ,∆ t m } TP=\frac{1}{max\lbrace∆t_1,∆t_1,…,∆t_m\rbrace} TP=max{t1,t1,tm}1

    d. 流水线加速比: S = n ∑ i = 0 k ∆ t i ∑ i = 0 k ∆ t i + ( n − 1 ) m a x { ∆ t 1 , ∆ t 1 , … ,∆ t m } S=\frac{n\sum_{i = 0}{k}{∆t_i}}{\sum_{i = 0}{k}{∆t_i}+(n-1)max\lbrace∆t_1,∆t_1,…,∆t_m\rbrace} S=i=0kti+(n1)max{t1,t1,tm}ni=0kti

    e. 流水线效率: E = n ∑ i = 0 k ∆ t i k [ ∑ i = 0 k ∆ t i + ( n − 1 ) m a x { ∆ t 1 , ∆ t 1 , … ,∆ t m } ] E=\frac{n\sum_{i = 0}{k}{∆t_i}}{k[\sum_{i = 0}{k}{∆t_i}+(n-1)max\lbrace∆t_1,∆t_1,…,∆t_m\rbrace]} E=k[i=0kti+(n1)max{t1,t1,tm}]ni=0kti

    f. 流水线的操作周期为流水线中最长一段的时间。

(二)存储系统

  1. 存储器的层次结构:CPU内部通用寄存器,Cache,主存储器,联机磁盘存储器,脱机光盘、磁盘存储器。

  2. 存储器的分类。

    a. 按所处位置分类:内存(主存,主要由DRAM构成)、外存(辅存)。

    b. 按构成材料分类:磁存储器、半导体存储器(包括静态Static Memory和动态Dynamic Memory两类)、光存储器。

    c. 按工作方式分类:读/写存储器(RAM)、只读存储器(包括固定只读存储器ROM等多种)

    d. 按访问方式分类:按地址访问的存储器、按内容访问的存储器。

    e. 按寻址方式分类:随机存储器(RAM)、顺序存储器(SAM)、直接存储器(DAM)。

  3. 相联存储器:按内容访问的存储器。

  4. 高速缓冲存储器(Cache):位于CPU与主存之间,由快速半导体存储器构成,地址映射由硬件自动完成,对程序员来说是透明的。

    a. 全相联映像:主存中任一块可以被放置到Cache中的任意一个位置。

    b. 直接映像:主存中的每一块只能被放置到Cache中唯一的一个位置。

    c. 组相联映像:主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置。

  5. 虚拟存储器:使用虚拟地址的概念来访问主存,使用专门的MMU将虚拟地址转换为物理地址后访问主存。

  6. 外存储器:用来存放暂时不用的程序和数据,并且以文件的形式存储。

  7. 磁盘阵列技术:有多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。

(三)输入/输出技术

  1. 无条件传送方式:可以无条件地接受CPU发来的输出数据和随时向CPU提供需要输入的数据。

  2. 程序查询方式:通过CPU执行程序查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。这种方式下CPU和I/O只能串行工作,按字读取,CPU利用率低。

  3. 中断驱动方式:当I/O系统与外设交换数据时可以处理其他任务,待I/O系统发出中断请求时CPU保存现场处理I/O数据。这种方式下CPU和I/O可以并行工作,按字读取,CPU利用率得到提高。

    a. 中断:计算机执行过程中当遇到急需处理的事情时,暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回源程序。

    b. 中断向量提供中断服务程序的入口地址,中断响应时间指发出中断请求到进入中断服务程序的时间,保存现场是为了中断处理结束后返回来执行源程序。

  4. 直接存储器方式(DMA方式):数据在内存与I/O设备间直接成块传送,CPU只需在过程开始与过程结束时处理,实际操作由DMA硬件执行。

    a. 占用系统总线资源,间隔总线周期,每传送一个数据占用一个存储周期。

    b. 这种方式下CPU和I/O可以并行工作,按块读取,在外设和内存之间建立通路。

(四)总线结构

  1. 总线分类:数据总线(DB)、地址总线(AB)、控制总线(CB)。

  2. PCI总线是并行内总线,SCSI总线是并行外总线。

  3. 内存容量决定内存单元的地址宽度(如内存容量4GB则内存单元地址宽度为32位),字长决定数据总线的宽度(如字长32位则数据总线的宽度为32位)。

  4. 采用总线结构便于实现系统的积木化构造,同时可以减少信息传输线的数量。


三、安全性、可靠性与系统性能评测基础知识

(一)计算机安全概述

  1. 计算机的三类安全性:技术安全性、管理安全性、政策法律安全性。

  2. 安全性的级别:美国国防部和国家标准局的《可信计算机系统评测标准》TCSEC/TDI将系统划分为4组7个等级。4组D级为最低级别。

  3. 典型的安全威胁:授权侵犯、拒绝服务、窃听、信息泄露、截获/修改、假冒、否认、非法使用、人员疏忽、完整性破坏、媒体清理、物理入侵、资源耗尽。

(二)加密技术和认证技术

  1. 加密技术:关键在于加密/解密算法和密钥管理,主要解决数据窃取(被动攻击)问题。

    a. 对称加密技术(私人密钥加密技术):只有一把密钥,文件加密和解密使用相同的密钥,加密解密速度很快,适合加密大量明文数据,但密钥分发有缺陷。

    b. 非对称加密技术(公开密钥加密技术):有公开密钥和私有密钥,公钥加密只能用私钥解密,私钥加密只能用公钥解密,用接收方的公钥加密明文可以实现防止窃听的效果,但加密解密速度很慢。

    c. 混合加密:对于大量的明文数据,可以先进行对称密钥加密,再把对称密钥和对称密钥加密结果用接收方的公钥加密,防止窃听。

  2. 加密算法:包括对称加密算法和非对称加密算法。

    a. 对称加密算法(私人密钥加密算法):DES、3DES或称TDEA(三重DES)、RC-5、IDEA、AES(分组加密)、RC4。

    b. 非对称加密算法(公开密钥加密算法):RSA、ECC、DSA。

  3. 认证技术:认证技术主要解决网络通信过程中通信双方的身份认可,主要解决数据篡改(主动攻击)、假冒、否认问题。

    a. 信息摘要:信息摘要简要的描述了一份较长的信息或文件,单向Hash函数用于产生信息摘要。

    b. 数字签名:发送者首先对信息生成信息摘要,并使用自己的私钥签名信息摘要,然后把信息本身和已签名的信息摘要一起发出去;接收者使用相同的Hash函数对接收信息本身生成新的摘要,与发送者的信息摘要比较。

    c. 数字证书:用户向CA权威机构申请数字证书,将个人信息和公钥发给CA机构,CA机构颁给用户数字证书,数字证书用CA的私钥进行签名,需要用CA的公钥验证数字证书才能得到用户的公钥。用户通过CA的签名来验证网站的真伪。

  4. 认证算法:Hash函数、MD5摘要算法(生成结果长度128位)、SHA-1安全散列算法

(三)计算机可靠性

  1. 计算机系统的可靠性是指它从开始运行(t=0)到某时刻t这段时间内能正常运行的概率,用R(t)表示。

  2. 计算机可靠性模型。

    a. 串联系统:当且仅当所有子系统都能正常工作时系统才能正常工作, R = R 1 R 2 … R N R=R_1R_2…R_N R=R1R2RN

    b. 并联系统:只要有一个子系统正常工作,系统就能正常工作, R = 1 − ( 1 − R 1 ) ( 1 − R 2 ) … ( 1 − R N ) R=1-(1-R_1)(1-R_2)…(1-R_N) R=1(1R1)(1R2)(1RN)

(四)计算机系统的性能评价

  1. 性能评测的常用方法:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法;

  2. 基准测试程序:整数测试程序、浮点测试程序、SPEC基准程序、TPC基准程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

STRANGEX-03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值