计算机基础
计算机基础
组成原理
计算机基本硬件系统五大组成部分:运算器、控制器、存储器、输入设备和输出设备
CPU
寄存器
运算器的四个重要寄存器:
算术逻辑单元ALU(实现对数据的算术和逻辑运算)
累加寄存器AC(运算结果或源操作数的存放区)
数据缓冲寄存器DR(暂时存放内存的指令或数据)、
状态条件寄存器 PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。
执行所有的算术运算,如加减乘除等;执行所有的逻辑运算并进行逻辑测试,如与、或、非、比较等。
控制器的四个重要寄存器:
指令寄存器IR(存储即将执行的CPU指令)
程序计数器PC(存放 下一条指令所在内存单元地址 )
地址寄存器AR(保存当前CPU所访问的内存地址)
指令译码器ID(分析指令操作码)等组成。

先从PC (存储即将执行的CPU指令) 中将指令的地址取出,
放入AR(保存当前CPU所访问的内存地址)中,然后从主存M中取出指令,
放入DR(暂时存放内存的指令或数据)中,
然后放入IR(存储即将执行的CPU指令)中,
ID 分析指令 (分析指令操作码)
指令流水线
流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期。
流水线执行时间:1条指令总执行时间+(总指令条数-1)*流水线周期。
流水线吞吐率计算:吞吐率即单位时间内执行的指令条数。 公式:指令条数/流水线执行时间。
流水线的加速比计算:加速比即使用流水线后的效率提升度,即比不使用流水线快了多少表明流水线效率越高,公式:不使用流水线执行时间/使用流水线执行时间。
最大吞吐率:1/ 流水线周期 。一个流水线周期执行一个指令,
指令系统
复杂指令系统
- 指令数量众多。
- 指令使用频率相差悬殊。
- 支持很多种寻址方式。
- 变长的指令。指令长度不是固定的。
- 指令可以对主存单元中的数据直接进行处理
- 以微程序控制为主
精简指令系统
- 指令数量少
- 指令的寻址方式少。
- 指令长度固定,指令格式种类少。
- 以硬布线逻辑控制为主。
- 单周期指令执行,采用流水线技术。
- 优化的编译器。
- CPU中的通用寄存器数量多,
总线
总线带宽
总线本身所能达到的最高传输速率,单位兆字节每秒(MB/s)。
如果一个总线周期中产行传送64位数据,总线时钟频率升为66MHz,则总线带宽是 $ 66 * 10^6 * 64 = 528 * 10^6 b/s = 528 MB/s $
连接方式
星形连接 | 网状连接 | 三总线 |
---|---|---|
![]() |
![]() |
![]() |
总线的特性
- 物理特性:指总线的物理连接方式,包括总线的根数,总线的插头、插座的形状,,刷脚线的排列方式等。
- 功能特性:描述总线中每一根线的功能。
- 电气特性:定义每一根线上信号的传递方向及有效电平范围。送入CPU的信号叫输入信号IN),从CPU发出的信号叫输出信号(OUT)
- 时间特性:定义了每根线在什么时间有效。规定了总线上各信号有效的时序关系,CPU才能正确无误地使用。
总线的分类
- 内部总线:CPU内部连接各寄存器及运算部件之间的总线。
- 系统总线:CPU同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线。
- I/0总线 中、低速IO设备之间互相连接的总线
总线的仲裁
集中式仲裁
链式(菊花链)查询方式
- 只用很少几根线就能按一定优先次序实现总线仲裁,很容易扩充设备
- 容错性低 。 对询问链的电路故障很敏感,如果第i个设备的接口中有关链的电路有故障,那么第i个以后的设备都不能进行工作。
- 优先级不固定 查询链的优先级是固定的如果优先级高的设备频繁的请求时,优先级低的设备可能长期无法使用总线
- 响应速度慢
计数器定时查询方式
- 使用了更多的线,能使得各个设备的优先级相同。
独立请求方式
- 响应时间快
- 优先级控制灵活;可以屏蔽某些设备,不响应他们的请求
- 使用了更多的线,和内部仲裁设备,能更快、更灵活的响应请求的设备
链式(菊花链)查询方式 | 计数器定时查询方式 | 独立请求方式 |
---|---|---|
![]() |
![]() |
![]() |
分布式仲裁
分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器,当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。显然,分布式仲裁是以优先级仲裁策略为基础。
存储系统
cache
时间局部性:指程字中的某条指令一旦执行,不久以后该指令可能再次执行,典型例子:循环操作
空间局部性:一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,例子:程
序顺序执行 、 数组遍历
映像方式:
直接相联映像:硬件电路较简单,但冲突率很高。 ( 求余 mod )

全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低。

组相联映像:直接相联与全相联的折中。 (每个组含n个行,就称为n路组相联)

磁盘阵列
多个磁盘存储器组合成一个大的磁盘。
- RAID0级 无冗余和无校验的数据分块
- RAID1级 磁盘镜像阵列 。 磁盘对组成,每一个工作盘都有其对应的镜像盘,上面保存着与工作盘完全相同的数据拷贝,具有最高的安全性,但磁盘空间利用率只有50% 。
- RAID2级 采用纠错海明码的磁盘阵列 。 大量数据传输时I/O性能较高,但不利于小批量数据传输。
- RAID3、RAID4级 采用奇偶校验码的磁盘阵列 。 RAID3采用位交叉奇偶校验码,RAID4采用块
交叉奇偶校验码 - RAID5 无独立校验盘的奇偶校验码磁盘阵列 。当有N块阵列盘时,用户空间为N-1块盘容量。(有三个盘 80 、80 、40)用户空间为: 40 + 40
- RAID6 具有独立的数据硬盘与两个独立的分布式校验方案
- RAID7 具有最优化的异步高I/O速率和高数据传输率的磁盘阵列
- RAID10 高可靠性与高性能的组合 ,建立在RAID 0和RAID1基础上
输入输出
DCPU和I/0(外设)只能串行工作CPU需要一直轮询检查,
程序查询方式 | CPU需要一直轮询检查, | CPU和I/0(外设)只能串行工作 | 中低速设备 | 设备→CPU→内存 内存→CPU→设备 |
字 |
中断驱动方式 | 中断是外围设备用来“主动”通知CPU | CPU和I/0(外设)可并行工作 | 中低速设备 | 设备→CPU→内存 内存→CPU→设备 |
字 |
DMA | DMA控制器从CPU完全接管对总线的控制 数据交换不经过CPU而直接在内存和外围设备之间进行 |
可并行工作 | 用于内存和高速外围设备之间 大批数据交换 |
设备→内存 内存→设备 |
块 |
通道方式 | CPU将部分权力下放给通道 | 可并行工作 | 设备→内存 内存→设备 |
一组块 |
性能评判
主频:机器内部主时钟的频率。通常以MHz(兆赫兹)为单位,1Hz表示每秒1次。
CPU时钟周期 = 1/ 主频
其中的2.40GHz就是主频,表示我的电脑一秒可以完成 $ 2.40×10^9 $ 个时钟周期,就表示计算机
一秒可以经历 $ 2.40×10^9 $ 个时钟周期。则,一个时钟周期仅需 $ 1 / ( 2.40×10^9 ) $ 秒。
CPU时钟周期 :通常为节拍脉冲 ,它是CPU中最小的时间单位,每个动作至少需要一个时钟周期。
指令周期 :CPU从主存中每取出并执行一条指令所需的全部时间 ,也就是CPU完成一条指令的时间
指令周期常常用若干机器周期表示 。 一个机器周期又包含若干时钟周期

CPI (Cycles PerInstruction,每条指令执行所用的时钟周期数),由于不同指令的功能不同,造成指令执行时间不同,所以CPI是一个平均值。
MIPS(MillionInstructions PerSecond,每秒百万条指令 的执行速度 。 指令条数 / (执行时间 x $ 10^6 $ )
浮点数

S:浮点数的符号位,1位,0表示正数,1表示负数。
M : 尾数,23位,用原码小数表示,小数点放在尾数域的最前面。
E :阶码,8位,阶符采用隐含方式, 采用移码方式来表示正负指数。
移码


单精度 | 双精度 | |
---|---|---|
指数域 | 8 bit | |
尾数 | 23 bit | |
最小值 (最小负数) | S=-1 , M=1.111… , E= 127 $-( 2 - 2^{-23} ) \times 2^{127} $ |
|
最大负数 | S= -1 ,M=1.0 , E = 1 - 127 = -126 $-2^{-126}$ |
|
最小正数 | S= 1 ,M=1.0 , E = 1 - 127 = -126 $2^{-126}$ |
|
最大正数 | S=1 , M=1.111… , E= 127 $( 2 - 2^{-23} ) \times 2^{127} $ |
操作系统
存储管理
页式存储
进程中使用的是逻辑地址 ,假如一段逻辑地址是连续的,但是它们所对应存放在内存中的位置却不一定连续。所以需要一个表格记录逻辑地址和物理地址之间的关系,这就是页表。
物理地址:页帧号 + 页内地址
逻辑地址:页号 + 页内地址

例如,页式存储系统中,每个页的大小为4KB。默认按字节编址,即一个存储单元是1byte 。
内存中共有 $ 2^{12} $ 个存储单元,即 4K 。 假如有一逻辑地址 10 1100 1101 1110
, 查页表 10 (十进制 2)对应 6 (二进制 110),其物理地址就是 110 1100 1101 1110
当根据逻辑地址访问数据时,先通过逻辑页号在页表中查找块号,
- 若找到块号,则结合页内地址生成物理地址。
- 找不到块号,则表示该块还没有放进内存,
- 内存不满,那就会把相应的块调入到内存中(缺页中断),然后更新页表。
- 如果内存满了,就会采用某种策略淘汰内存中的其中的一个块。

淘汰优先级
- 状态为1的才能被淘汰。 在内存的页面才能够被淘汰。
- 淘汰访问位为 0
- 淘汰修改位为 0 。 因为修改过的页面,淘汰的时候要考虑一致性
优点:利用率高,碎片小,分配及管理简单。
缺点:增加了系统开销,可能产生抖动现象
快表:将页表存于Cache上;(访问最频繁的少数页面)
慢表:将页表存于内存上。
段式存储
按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。


◆优点:多道程序共享内存(公用函数),各段程序修改互不影响。
◆缺点:内存利用率低,内存碎片浪费大。
段页存储
段式与页式的综合体。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同。
优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。
数据库
三级模式两级映射
模式概念,也称为模式、逻辑模式。
- 它是数据库中全体数据的逻辑结构和特征的描述;(例如在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录,这就是一个逻辑模式)
- 模式是所有用户的公共数据视图。(因为数据库是多人共享使用的,模式就是大家都看到的样子,综合了所有用户的数据需求。)
外模式,子模式、用户模式,
- 用以描述用户看到或使用的那部分数据的逻辑结构,(具体应用就是视图)
内模式
- 数据物理结构和存储方式的描述
- 记录的存储方式:如顺序存储,按B树结构存储,Hash存储)
- 索引的组织方式:B+树索引,hash索引,Join index索引
- 数据是否压缩存储
- 数据是否加密
外模式/模式映射
保证了数据的逻辑独立性。当模式改变时,数据库管理员修改有关的外模式/模式映像,使外模式保持不变;而应用程序是根据数据的外模式编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称为数据的逻辑独立性。
模式/内模式映射
保证了数据的物理独立性。当数据的存储结构改变时(如本来我们用堆存储,改成了B+树),数据库管理员修改模式/内模式映像,使模式保持不变。
视图
它一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)。
数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中
视图的作用:
- 视图能简化用户操作。
- 视图隐藏了底层的表结构,客户端不再需要知道底层表的结构及其之间的关系。
- 视图使用户能以多种角度看待同一数据
- 例如,Student表涉及全校15个院系学生数据,可以在其上定义15个视图,每个院系的主任只操作本系学生的视图。
- 视图对重构数据库提供了一定程度的逻辑独立性
- 避免数据库的重构造对用户程序产生影响。 数据库逻辑结构改变了,但数据库的外模式保持不变
- 视图可以对机密数据提供安全保护
- 有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,未授权用户无法查看机密数据