数据库系统工程师
- 1.1计算机系统基础知识
- 1.1.2数据表示和校验
2020.9.10开始备考
1.1计算机系统基础知识
CPU:硬件系统的核心,是运算器,控制器等部件的集合,可以完成数据的加工,逻辑运算,算术运算以及控制功能。
存储器:计算机系统的运算设备。
- 内部存储器:容量小,速度快。
- 外部存储器:容量大,速度慢。
*处理器(cpu)
它是计算机系统的核心部件,负责获取程序指令、对指令进行译码并加以执行
的功能
程序控制:按照程序安排执行指令,通过执行程序控制计算机的行为
操作控制:一条指令需要诺干的操作信号来完成,CPU产生每条指令的操作信号并发
送到不同的部件,控制相应的部件按指令的要求完成操作
时间操作:CPU对每个指令的执行时间都进行了严格的控制,同时对于操作信号出现
的时间、持续时间、出现的先后顺序进行严格控制
数据处理:CPU对逻辑运算方式,算术运算方式进行数据加工处理,使得处理的数
据结果能为人所用,这也是CPU最根本的任务
此外CPU还需要对系统内部和外部的中断进行反应,并处理、
的组成
CPU主要是由运算器、控制器、寄存器和内部总线等部件组成
-
运算器
包括算术逻辑单元、累加器、缓冲寄存器和状态条件寄存器等,受控制器指挥
算术逻辑单元(ALU):负责处理数据,对数据进行算术运算和逻辑运算。 累加寄存器(AC):为一个通用寄存器,充当运算器的算术逻辑单元和执 行算术或逻辑运算,为ALU提供一个工作区。 数据缓冲寄存器(DR):对内存储器进行读写操作时,用DR暂时存放内存储 器的一条指令或数据字,并依据不同时间内读写的数据隔离开。即作为内存 储器与外围设备之间在操作速度上的缓冲(在但累加器结构的运算器中,DR 还可兼做操作数寄存器) 状态条件寄存器(PSW): 保存算术指令和逻辑指令运行或测试的结果建立的 各种条件码内容
-
控制器
控制整个CPU的工作,由指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等。
指令寄存器(IR):内部存储器->--CPU指令-->缓冲寄存器->IR(暂存) ->指令译码器 程序计数器(PC):具有寄存信息和计数两种功能也称指令计数器,两种执 行,顺序执行(大部分),转移执行 地址寄存器(AR):由于内存和CPU速度上存在着差异,所以使用AR保存当 前CPU所访问的内存单元的地址。 指令译码器(ID):包含操作码和地址码,分析解释操作码,识别指令操作 ,然后向操作控制器发出具体的控制信号 总线逻辑是多个功能部件服务的信息通路的控制电路,控制各种中断请求 寄存器组:分为专用寄存器与通用寄存器,运算器控制器中的为专用寄存器 (作用时固定的),通用用途广泛且可自定义。
3.多核CPU
又被称为内核,所有的计算、接收/存储命令、处理数据都由核心执行
1.1.2数据表示和校验
数值在计算机的表示中成为机器数,而机器数分为无符号数与带符号数,在带
符号数中0为正1为负,而无符号数没有符号位都表示为正数。
1.数值数据编码
带符号的机器数采用原码、反码和补码等不同的编码方法
(1)原码表示法:原码记作
[
X
]
原
[X] \tiny 原
[X]原
当X为纯整数时
X
=
{
X
0
≤
X
≤
2
n
−
1
−
1
2
n
−
1
+
∣
X
∣
-(
2
n
−
1
−
1
)
≤
X
≤
0
X = \begin{cases} X&\text{0$\leq$X$\leq2^{n-1}-1$}\\ 2^{n-1}+|X| &\text{-($2^{n-1}-1)$ $\leq$X$\leq$0} \end{cases}
X={X2n−1+∣X∣0≤X≤2n−1−1-(2n−1−1) ≤X≤0
当X为纯小数时
X
=
{
X
0
≤
X
<
1
2
0
+
∣
X
∣
−
1
<
X
≤
0
X = \left\{\begin{array}{lc}X&0\leq X<1\\2^0+\vert X\vert&-1<X\leq0\end{array}\right.
X={X20+∣X∣0≤X<1−1<X≤0
前面的形如2^n为符号位0为正号,1为负号,再加上后置位的二进制位数。
(2)反码表示法:记作[X]
反
\tiny 反
反
当X为纯整数时
X
=
{
X
0
≤
2
n
−
1
−
1
2
n
−
1
+
X
−
(
2
n
−
1
−
1
)
≤
X
≤
0
X = \left\{\begin{array}{lc}X&0\leq2^{n-1}-1\\2^n-1+X&-(2^{n-1}-1)\leq X\leq0\end{array}\right.
X={X2n−1+X0≤2n−1−1−(2n−1−1)≤X≤0
当X为纯小数时
X
=
{
X
0
≤
X
<
1
2
−
2
−
(
n
−
)
+
X
−
1
<
X
≤
0
X= \left\{\begin{array}{lc}X&\;\;\;0\leq X<1\\2-2^{-(n-)}+X&\;\;-1<X\leq0\end{array}\right.
X={X2−2−(n−)+X0≤X<1−1<X≤0
即正数形式跟原码一致,负数则是原码的
2
n
−
1
−
X
\\2^{n-1}-X
2n−1−X
(3).补码表示法:记作[X]
补
\tiny 补
补
当X为纯整数时
X
=
{
X
0
≤
X
≤
2
N
−
1
−
1
2
n
+
X
−
2
n
−
1
≤
X
≤
0
X=\left\{\begin{array}{lc}X&\;\;\;0\leq X\leq2^{N-1}-1\\2^n+X&\;\;-2^{n-1}\leq X\leq0\end{array}\right.
X={X2n+X0≤X≤2N−1−1−2n−1≤X≤0
当X为小数时
X
=
{
X
0
≤
X
<
11
2
+
X
−
1
≤
X
<
0
X=\left\{\begin{array}{lc}X&\;\;\;0\leq X<11\\2+X&\;\;-1\leq X<0\end{array}\right.
X={X2+X0≤X<11−1≤X<0
即为负数时,补码为反码小数点前的末尾加1。
(4).移码表示法:在数X上增加一个偏移量来定义,如果机器字长n,规定偏移量为 2 n − 1 2^{n-1} 2n−1即改变符号位,在偏移形如 2 n − 1 2^{n-1} 2n−1的情况下,只需要改变其补码的符号位即可得出移码。
定点数:分为定点整数,小数点在最低有效位之后,和定点小数,小数点在最高有效位之前。
总结转换规律:原码 逐 位 求 反 ( 负 数 ) → \underrightarrow{逐位求反(负数)} 逐位求反(负数)反码 末 尾 加 1 ( 负 数 ) → \underrightarrow{末尾加1(负数)} 末尾加1(负数)补码 在 2 n − 1 中 , 符 号 位 取 反 即 可 → \underrightarrow{在2^{n-1}中,符号位取反即可} 在2n−1中,符号位取反即可移码