软件设计师---计算机组成原理

时间:2024-10-13 21:06:56

目录

计算机系统硬件基本组成

*处理单元(CPU)

CPU的功能

CPU的组成

计算机的基本单位

数据表示

各种码制带符号数的范围

浮点数

寻址

校验码

CISC和RISC

流水线

存储器

高速缓存Cache

中断

输入输出(I/O)控制方式

总线

加密技术和认证技术

加密技术

认证技术

加密算法

可靠性


计算机系统硬件基本组成

计算机的基本硬件系统由运算器、控制器、存储器、输入设备、输出设备五大部件组成。

  • 输入设备和输出设备合称为外部设备(外设)
  • 存储器:分为内部存储器(内存容量小,速度快。临时存放数据)和外部存储器(容量大,速度慢,长期保存数据)
  • 主机:CPU + 存储器

*处理单元(CPU)

*处理单元(CPU)是计算机系统的核心部件,它负责获取程序指令、对指令进行译码并加以执行。

CPU的功能

  • 程序控制(控制器)
  • 操作控制(控制器)
  • 时间控制(控制器)
  • 数据处理(运算器)

CPU的组成

CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。

1. 运算器:运算器只能完成运算。

  • 算数逻辑单元(ALU):负责处理数据,实现对数据的算数运算和逻辑运算。
  • 累加寄存器(AC):运算器的算数逻辑单元执行算数或逻辑运算时,为ALU提供一个工作区,运算结果存储在AC中。
  • 数据缓冲寄存器(DR):作为CPU和内存、外部设备之间的中转站。
  • 状态条件寄存器(PSW):保存各种条形码内容。

2. 控制器:控制器用于控制整个CPU的工作,它决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且要能处理异常事件。

  • 指令寄存器(IR):当CPU执行指令时,先把它从内存存储器取到缓冲寄存器中,再送入IR暂存。对用户完全透明(即用户不能访问)。
  • 程序计数器(指令计数器)(PC):跟踪指令的地址。PC在顺序执行的时候加1,在转移执行的时候加上一个位移量。
  • 地址寄存器(AR):保存当前CPU所访问的内存单元的地址。
  • 指令译码器(ID):指令包含操作码和地址码。对指令中的操作码进行分析解释。
  • 时序部件:掌控系统中各个部分的时序关系,确保各项任务能够在指定时间被执行。

对程序员可见:通用寄存器(ALU、AC、DR、PSW)、程序计数器

对程序员不可见:指令寄存器、存储器数据寄存器(MDR)、存储器地址寄存器(MAR)、指令译码器(ID)、地址寄存器、时序部件

C

C

计算机的基本单位

位(比特)      最小数据单位 bit、b 8 b = 1 B
字节                 最小存储单位 byte、B 1 B = 8 b
千字节 KB 1 KB = 1024 B
兆字节 MB 1 MB = 1024 KB
吉字节 GB 1 GB = 1024 MB
太字节

TB

1 TB = 1024 GB
进制 英文简写
二进制 B
八进制 O
十进制 D
十六进制 H
  • 按权展开求和:n进制转为十进制
  • 除n取余法:十进制转换为n进制
  • 进制加减法:加法--逢 n 进 1  减法--借 1 当 n
  • 每 一位 八进制数对应 三位 二进制数
  • 每 一位 十六进制数对应 四位 二进制数

B

B

B

数据表示

  • 原码:总共有n位,最高位是符号位,0表示正号,1表示负号。其余 n - 1 位表示数值的绝对值。
  • 反码:正数的反码与原码相同,负数的反码则是其绝对值按位求反。
  • 补码:正数的补码与其原码的反码相同,负数的补码则是等于其反码的末位加一。补码可以简化计算机运算部件的设计。
  • 移码:在补码的基础上取反符号位。-(2^{n-1}-1)
  • 补充:正数的原反补都相同;补码再取补码等于原码;+0和-0的补码移码相同。

各种码制带符号数的范围

B

C

B

B

D

逻辑运算

  1. 逻辑与 & :0和1相与,只要有一个为0结果就为0,两个都为1才为1
  2. 逻辑或 | :0和1相或,只要有一个为1结果就为1,两个都为0才为0

  3. 异或:相同为0,不同为1

  4. 逻辑非 !:0的非是 1 ,1 的非是 0

  5. 逻辑左移<<:二进制数整体左移n位,高位若溢出则舍去,低位补0

  6. 逻辑右移>>:二进制数整体右移n位,地位溢出则舍去,高位补0

浮点数

浮点数使用两个定点数来分别表示实数的尾数(F)和阶码(E)。其一般形式位为:N = 2^{F} \times F(二进制数)

  • 阶码为带符号的纯整数,尾数为带符号的纯小数。
  • 一个数的浮点表示是不唯一的。小数点位置改变,阶码也随着相应改变。
  • 浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定。
  • 阶数不一样,先对小阶向大阶对齐,浮点数右移
  • 规格化就是将尾数的绝对值限定在区间[0.5 , 1]
  • 一般浮点数阶码(包括1位阶符)用R位的移码表示,尾数(包括一位数符)用M位补码表示。这种表示的数值范围为:-1\times 2^{(2^{R-1}-1)} \sim (1-2^{-M+1})\times 2^{(2^{R-1}-1)}

B

D

B

寻址

  • 立即寻址:操作数就包含在指令中(最快 1)
  • 寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。(2)
  • 直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在的存储单元的地址(3)
  • 寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。(4)
  • 间接寻址:指令中给出操作数地址的地址。(最慢)
  • 相对寻址:指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量。
  • 变址寻址:操作数地址等于变址寄存器的内容加偏移量。
  • 补充:指令系统中采用不同的寻址方式的目的是,扩大寻址空间并提高编程灵活性

A

校验码

码距:指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。

码距 = 2 ,有检错能力

码距 >= 3,才可能有纠错能力

1. 奇偶校验码

  • 只能检错,不能纠错,码距 = 2
  • 只能检测出奇数个数据位出错,不能检测偶数个数据位出错。
  • 水平奇偶校验码、垂直奇偶校验码、水平垂直奇偶校验码

2. 海明码

  • 海明码可以检错也可以纠错。
  • 数据位是 n ,校验位是 k ,则n和k必须满足以下关系:2^{k} - 1\geqslant n + k

3. 循环冗余校验码

  • 可以检错,但不能纠错,码距 = 2
  • k 个数据位后跟 r 个校验位
  • 检验位 r 采用模2运算

A

CISC和RISC

RISC(精简指令集计算机) CISC(复杂指令集计算机)
指令种类 少、精简 多、丰富
指令复杂度 低(简单) 高(复杂)
指令长度 固定 变化
寻址方式 复杂多样
实现(译码方式) 硬布线控制逻辑(组合逻辑控制器) 微程序控制技术
通用寄存器数量 多、大量 一般
流水线技术 支持 支持

流水线

计算机中的流水线技术是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。

若要执行n条指令:

  • 顺序执行总时间:顺序执行总时间 = 单条指令执行的时间 * n
  • 流水线执行总时间:
    1. 流水线执行总时间 = 一条指令执行的时间 + 流水线周期 * (n - 1)
    2. 流水线(操作)周期为执行时间最长的一段操作时间。
    3. 吞吐率:流水线周期的倒数
        连续输入n条指令的吞吐率:吞吐率 = n / 总执行时间
    4. 加速比 = 顺序执行总时间 / 流水线执行总时间
    5. 异步控制不会提高性能,只是提高吞吐率

D

存储器

  • SRAM(静态随机存储器):构成Cache(缓存)
  • DRAM(动态随机存储器):构成主存,DRAM需要周期性地刷新保持信息
  • RAM(读/写存储器)
  • ROM(只读存储器)
  • PROM(可编程的只读存储器)

1. 按存储器所处位置可分为:

  • 内存(主存):在主机内或主板上,存放机器当前运行所需的程序和数据,以便向CPU提供信息。相对外存,其特点是容量小、速度快。
  • 外存(辅存):存放当前不参加运行的大量信息,在需要时调入内存。如磁盘、磁带和光盘等。

2. 按存储器的构成材料分类:

  • 磁存储器
  • 半导体存储器
  • 光存储器

3. 按存储器工作方式:

  • 读/写存储器(RAM)。它指既能读取数据也能存入数据的存储器。
  • 只读存储器:工作过程中仅能读取的存储器,根据数据写入方式,可以细分为ROM、PROM、EPROM、EEPROM等类型。
  • 固定只读存储器(ROM):厂家生产时就写好数据在其中。其内容只能读出,不能改变。一般用于存放 系统程序 BIOS和微程序控制。

  • 可编程的只读存储器(PROM):其内容可以由用户一次性地写入,写入后不能再修改。

  • EPROM、EEPROM是指带电可擦可编程只读存储器。

4. 按访问方式

  • 按地址访问:随机存储器(RAM)、顺序存储器(SAM)、直接存储器(DAM)
  • 按内容访问:例如相联存储器。

补充:

  • 虚拟存储器由主存和辅存组成。
  • 闪存(flash)类似U盘,掉电后信息不会丢失。以块为单位进行删除。闪存是EPROM的一种类型,可以代替ROM存储器。闪存不可以替代主存。

高速缓存Cache

高速缓存(Cache)用来存放当前最活跃的程序和数据,其特点是:

  • 位于CPU和主存之间;容量一般在几千字节到几兆字节之间;
  • 速度一般比主存快5~10倍,由快速半导体存储器构成;
  • 其内容是主存局部域的副本,对程序员来说是透明的

Cache存储器部分用来存放主存的部分拷贝(副本)信息。控制部分的功能是判断CPU要访问的信息是否在Cache存储器中,若在即为命中,若不在则没有命中。命中时直接对Cache存储器寻址;未命中时,要按照替换原则决定主存的一块信息放到Cache存储器的哪一块里。

地址映像方法:

  • Cache与主存地址的映射是由硬件自动完成的
  • 数据总线:数地控,即数据总线、地址总线和控制总线
  • 发生块冲突从多到少:直接映像>组相联映像>全相联映像

B

A

中断

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

为了提高响应中断的速度,通常把所有中断服务程序的入口地址(或称为中断向量)汇集为中断向量表

  • 中断向量:提供中断服务程序的入口地址
  • 中断响应时间:发出中断请求开始,到进入中断服务程序
  • 保存现场:返回执行源程序
  • 多级中断使用堆栈来保护现场最有效

输入输出(I/O)控制方式

1. 程序查询方式

  • CPU 和 I/O(外设)只能串行工作,CPU需要一直轮询检查,长期处于忙等状态。CPU利用率低。
  • 一次只能读/写一个字
  • 由CPU将数放入内存

2. 中断驱动方式

  • I/O设备通过中断信号主动向CPU报告I/O操作已完成
  • CPU和I/O(外设)可并行工作
  • CPU利用率得到提升
  • 一次只能读/写一个字
  • 由CPU将数据放入内存

3. 直接存储器方式(DMA)

  • CPU和I/O(外设)可并行工作
  • 仅在传送数据块的开始和结束时才需要CPU的干预
  • 由外设直接将数据放入内存(主存)
  • 一次读写的单位为”块“而不是字

C

C

C

总线

总线是连接计算机有关部件的一组信号线,是计算机中用来传送信息代码的公共通道。

采用总线结构主要有以下优点:

  • 简化系统结构,便于系统设计制造;
  • 大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;
  • 便于接口设计,所有与总线连接的设备均采用类似的接口;
  • 便于系统的扩充、更新与灵活配置,易于实现系统的模块化;
  • 便于设备的软件设计;
  • 便于故障诊断和维修,同时也降低了成本。

在计算机系统中采用总线结构,便于实现系统的积木化构造,同时可以减少信息传输线的数量

微机中的总线分为:

  • 数据总线
  • 地址总线
  • 控制总线

常见总线:

  • ISA总线
  • EISA总线
  • PCI总线:PCI总线式目前微型机上广泛采用的并行内总线。
  • PCI Express总线
  • 前端总线
  • RS-232C
  • SCSI总线:小型计算机系统接口(SCSI)是一条并行外总线
  • SATA
  • USB
  • IEEE-1394
  • IEEE-488总线

加密技术和认证技术

加密技术

  1. 对称加密(私有密钥加密)

    加密和解密是同一把密钥,只有一把密钥
    密钥的分发有缺陷
    优点:1.加密解密速度很快 2.适合加密大量明文数据

  2. 非对称密钥(公开密钥加密)
    加密和解密不是同一把密钥,一共有两把密钥 分别是公钥和私钥
    用公钥加密只能用私钥解密,用私钥加密只能用公钥解密
    不能通过一把推出另一把 用接收方的公钥加密明文,可以实现放置窃听的效果
    密钥分发没有缺陷 加密解密速度很慢
  3. 混合加密

认证技术

  1. 摘要:将发送的明文进行Hash算法后得到的摘要放在密文后一起发送过去,与接收方解密后的明文进行相同的Hash算法得到的摘要进行对比,如果一致,则没有篡改,否则有篡改。
  2. 数字签名:发送方用自己的私钥对摘要进行签名(加密)得到数字签名放在密文后一起发送过去。接收方用发送方的公钥对数字签名进行验证(解密)如果验证成功则该消息没有被假冒且不能否认,否则该消息的真实性为假冒发送。使用数字签名确保消息不可否认。
  3. 数字证书:用户向CA(权威机构)机构申请数字证书,将个人信息和公钥发给CA机构,CA机构颁给用户数字证书,数字证书用CA的私钥进行签名(加密)用CA的公钥验证(解密)数字证书得到用户的公钥。

使用数字证书确保用户身份

用户通过CA的公钥验证CA的签名,确定网站的真伪

公钥:加密和验证

私钥:解密和签名

A   D

D

A

A

D

D

加密算法

对称密钥(私钥、私有密钥加密)算法(共享密钥加密算法)

非对称密钥(公钥、公开密钥加密)算法

(可用于数字签名)

DES

RSA

3DES

ECC

RC-5

DCA

IDEA

AES

RC4

Hash函数

MD5摘要算法(128位散列值)

SHA-1安全散列算法

认证是处理主动攻击

C

可靠性

  1. 串联系统。假设一个系统由N个子系统组成,当且仅当所有子系统都能正常工作时,系统才能正常工作,这样的系统称为串联系统。系统可靠性:R = R_{1} R_{2}R_{3}...R_{n}

  2. 并联系统。假设一个系统由N个子系统组成,只要有一个子系统正常工作,系统就能正常工作,这样的系统称为并联系统。系统可靠性:R = 1-(1-R_{1})(1-R_{2})...(1-R_{n})