计算机基础

计算机基础

组成原理

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

CPU

寄存器

运算器的四个重要寄存器:

算术逻辑单元ALU(实现对数据的算术和逻辑运算)

累加寄存器AC(运算结果或源操作数的存放区)

数据缓冲寄存器DR(暂时存放内存的指令或数据)、

状态条件寄存器 PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。

执行所有的算术运算,如加减乘除等;执行所有的逻辑运算并进行逻辑测试,如与、或、非、比较等。

控制器的四个重要寄存器:

指令寄存器IR(存储即将执行的CPU指令)

程序计数器PC(存放 下一条指令所在内存单元地址 )

地址寄存器AR(保存当前CPU所访问的内存地址)

指令译码器ID(分析指令操作码)等组成。

image-20240107233124134

先从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 $

连接方式

星形连接 网状连接 三总线
image-20240120061939941 image-20240120062026909 image-20240120062057932

总线的特性

  • 物理特性:指总线的物理连接方式,包括总线的根数,总线的插头、插座的形状,,刷脚线的排列方式等。
  • 功能特性:描述总线中每一根线的功能。
  • 电气特性:定义每一根线上信号的传递方向及有效电平范围。送入CPU的信号叫输入信号IN),从CPU发出的信号叫输出信号(OUT)
  • 时间特性:定义了每根线在什么时间有效。规定了总线上各信号有效的时序关系,CPU才能正确无误地使用。

总线的分类

  • 内部总线:CPU内部连接各寄存器及运算部件之间的总线。
  • 系统总线:CPU同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线。
  • I/0总线 中、低速IO设备之间互相连接的总线

总线的仲裁

集中式仲裁
  • 链式(菊花链)查询方式

    • 只用很少几根线就能按一定优先次序实现总线仲裁,很容易扩充设备
    • 容错性低询问链的电路故障很敏感,如果第i个设备的接口中有关链的电路有故障,那么第i个以后的设备都不能进行工作。
    • 优先级不固定 查询链的优先级是固定的如果优先级高的设备频繁的请求时,优先级低的设备可能长期无法使用总线
    • 响应速度慢
  • 计数器定时查询方式

    • 使用了更多的线,能使得各个设备的优先级相同
  • 独立请求方式

    • 响应时间快
    • 优先级控制灵活;可以屏蔽某些设备,不响应他们的请求
    • 使用了更多的线,和内部仲裁设备,能更快、更灵活的响应请求的设备
链式(菊花链)查询方式 计数器定时查询方式 独立请求方式
image-20240120060359969 image-20240120060928527 image-20240120061051642
分布式仲裁

分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器,当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。显然,分布式仲裁是以优先级仲裁策略为基础。

存储系统

cache

时间局部性:指程字中的某条指令一旦执行,不久以后该指令可能再次执行,典型例子:循环操作

空间局部性:一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,例子:程
序顺序执行 、 数组遍历

映像方式

直接相联映像:硬件电路较简单,但冲突率很高。 ( 求余 mod )

image-20240112112221223

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

image-20240112112129773

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

image-20240112112327005

磁盘阵列

多个磁盘存储器组合成一个大的磁盘。

  • 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中最小的时间单位,每个动作至少需要一个时钟周期。

img

指令周期 :CPU从主存中每取出并执行一条指令所需的全部时间 ,也就是CPU完成一条指令的时间

指令周期常常用若干机器周期表示 。 一个机器周期又包含若干时钟周期

img

CPI (Cycles PerInstruction,每条指令执行所用的时钟周期数),由于不同指令的功能不同,造成指令执行时间不同,所以CPI是一个平均值。

MIPS(MillionInstructions PerSecond,每秒百万条指令 的执行速度 。 指令条数 / (执行时间 x $ 10^6 $ )

浮点数

image-20240120150520212

S:浮点数的符号位,1位,0表示正数,1表示负数。

M : 尾数,23位,用原码小数表示,小数点放在尾数域的最前面。

E :阶码,8位,阶符采用隐含方式, 采用移码方式来表示正负指数。

移码

image-20240120151045820 image-20240120151220068
单精度 双精度
指数域 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} $

操作系统

存储管理

页式存储

进程中使用的是逻辑地址 ,假如一段逻辑地址是连续的,但是它们所对应存放在内存中的位置却不一定连续。所以需要一个表格记录逻辑地址和物理地址之间的关系,这就是页表

物理地址:页帧号 +  页内地址

逻辑地址:页号 + 页内地址 

image-20240123211135396

例如,页式存储系统中,每个页的大小为4KB。默认按字节编址,即一个存储单元是1byte 。

内存中共有 $ 2^{12} $ 个存储单元,即 4K 。 假如有一逻辑地址 10 1100 1101 1110 , 查页表 10 (十进制 2)对应 6 (二进制 110),其物理地址就是 110 1100 1101 1110

当根据逻辑地址访问数据时,先通过逻辑页号在页表中查找块号,

  • 若找到块号,则结合页内地址生成物理地址。
  • 找不到块号,则表示该块还没有放进内存,
    • 内存不满,那就会把相应的块调入到内存中(缺页中断),然后更新页表。
    • 如果内存满了,就会采用某种策略淘汰内存中的其中的一个块。
image-20240123230503952

淘汰优先级

  1. 状态为1的才能被淘汰。 在内存的页面才能够被淘汰。
  2. 淘汰访问位为 0
  3. 淘汰修改位为 0 。 因为修改过的页面,淘汰的时候要考虑一致性

优点:利用率高,碎片小,分配及管理简单。
缺点:增加了系统开销,可能产生抖动现象

快表:将页表存于Cache上;(访问最频繁的少数页面)

慢表:将页表存于内存上。

段式存储

按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。

image-20240123233538628 image-20240123233621696

◆优点:多道程序共享内存(公用函数),各段程序修改互不影响。
◆缺点:内存利用率低,内存碎片浪费大

段页存储

段式与页式的综合体。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同。

优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。

数据库

三级模式两级映射

模式概念,也称为模式、逻辑模式。

  • 它是数据库中全体数据逻辑结构和特征的描述;(例如在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录,这就是一个逻辑模式)
  • 模式是所有用户的公共数据视图。(因为数据库是多人共享使用的,模式就是大家都看到的样子,综合了所有用户的数据需求。)

外模式,子模式、用户模式,

  • 用以描述用户看到或使用的那部分数据的逻辑结构,(具体应用就是视图

内模式

  • 数据物理结构和存储方式的描述
    • 记录的存储方式:如顺序存储,按B树结构存储,Hash存储)
    • 索引的组织方式:B+树索引,hash索引,Join index索引
    • 数据是否压缩存储
    • 数据是否加密

外模式/模式映射

​ 保证了数据的逻辑独立性。当模式改变时,数据库管理员修改有关的外模式/模式映像,使外模式保持不变;而应用程序是根据数据的外模式编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称为数据的逻辑独立性。

模式/内模式映射

保证了数据的物理独立性。当数据的存储结构改变时(如本来我们用堆存储,改成了B+树),数据库管理员修改模式/内模式映像,使模式保持不变。

视图

它一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)。

数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中

视图的作用:

  1. 视图能简化用户操作。
    • 视图隐藏了底层的表结构,客户端不再需要知道底层表的结构及其之间的关系。
  2. 视图使用户能以多种角度看待同一数据
  • 例如,Student表涉及全校15个院系学生数据,可以在其上定义15个视图,每个院系的主任只操作本系学生的视图。
  1. 视图对重构数据库提供了一定程度的逻辑独立性
  • 避免数据库的重构造对用户程序产生影响。 数据库逻辑结构改变了,但数据库的外模式保持不变
  1. 视图可以对机密数据提供安全保护
    • 有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,未授权用户无法查看机密数据

计算机基础
http://example.com/2024/04/16/系统分析师/计算机基础/
Author
John Doe
Posted on
April 16, 2024
Licensed under