【软考程序员学习笔记】——计算机组成与体系结构

【软考程序员学习笔记】——计算机组成与体系结构_第1张图片

在这里插入图片描述

目录

一、进制之间的转换

二、原码、反码、补码和移码

原码

反码

补码

 移码

三、浮点数表示法

(1)浮点数表示

(2)两浮点数进行运算的过程

四、校验码

(1)奇偶校验码

(2)海明码

(3)循环冗余校验码【(n,k)码】

【模二运算的知识拓展】

 五、计算机系统的组成

六、运算器和控制器的组成

运算器的组成: 

控制器的组成:

七、指令系统

 立即寻址方式

直接寻址方式

间接寻址方式

寄存器寻址方式

寄存器间接寻址方式

八、容量的换算

九、内存编址

十、高速缓存Cache


一、进制之间的转换

进制的种类:

 二进制(B)、八进制(O)、十进制(D)、十六进制(H)

【软考程序员学习笔记】——计算机组成与体系结构_第2张图片

 进制的转化:二进制、八进制、十进制、十六进制之间的相互转换。

二、原码、反码、补码和移码

原码

将数据用二进制形式表示,最高位为符号位,正数为0,负数为1。

我们用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011。

计算机中所有的数均用0,1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,约定最左边一位用作符号位,其余n-1位用于表示数值

在符号位上用"0"表示正数;用"1"表示负数。数值位表示真值的绝对值。凡不足n-1位的,小数在最低位右边加零整数则在最高位左边加零以补足n-1位。这种计算机的编码形式叫做原码。

反码

反码是数值存储的一种,多应用于系统环境设置,如Linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。

正数的反码是其本身;负数的反码是在其原码的基础上,符号位不变,其余各位取反

补码

补码是计算机把减法运算转化为加法运算的关键编码。

正数的补码是其本身;负数的补码是在其原码的基础上,符号位不变,在反码的基础上+1

 移码

移码(又叫增码偏置码)通常用于表示浮点数的阶码,其表示形式与补码相似,只是其符号位用“1”表示正数,用“0”表示负数,数值部分与补码相同。

注意:在补码和移码表示中,0有唯一的编码,补码中+0和-0均为0000  0000(八位二进制表示下)。

多数计算机都采用补码进行加减运算,其符号位和数值位一样参与运算,无需做特殊处理。

在n位二进制表示下:

原码、反码表示的数据范围为:-\left ( 2^{n-1}-1 \right )\sim +\left ( 2^{n-1}-1 \right )

补码、移码表示的数据范围为:-2^{n-1}\sim +\left ( 2^{n-1} -1\right )

补码中,用1000  0000表示-128。

三、浮点数表示法

(1)浮点数表示

阶符± 阶码e 数符± 尾数m

特点:

阶码的位数决定数的表示范围,位数越多范围越大;尾数的位数决定数的有效精度,位数越多精度越高。

(2)两浮点数进行运算的过程

运算过程:

对阶>尾数计算>结果格式化

对阶时,小数向大数看齐,对阶是通过较小数的位数右移实现的。

四、校验码

校验码通常是一组数字的最后一位,由前面的数字通过某种运算得出,用以检验该组数字的正确性。如图所示:

【软考程序员学习笔记】——计算机组成与体系结构_第3张图片

(1)奇偶校验码

奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。

偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数。

奇偶校验,可检查奇数个数位的错误,不可纠错。

(2)海明码

在数据之间插入K个校验位,通过扩大码距来实现检错和纠错。

(3)循环冗余校验码【(n,k)码】

信息码占k位,校验码占n-k位,校验码位数越长,校验能力越强。采用了模二运算。

【模二运算的知识拓展】

模二运算是一种二进制算法,CRC校验技术的核心部分。

模二加:+

模二减:-

模二乘:×或●

模二除:÷或 /

(模二运算不考虑进位和借位)

 五、计算机系统的组成

【软考程序员学习笔记】——计算机组成与体系结构_第4张图片

【软考程序员学习笔记】——计算机组成与体系结构_第5张图片

六、运算器和控制器的组成

运算器的组成: 

  • 算术逻辑单元ALU:数据的算术运算和逻辑运算
  • 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据
  • 数据缓冲寄存器DR:写内存时,暂存指令或数据
  • 状态条件寄存器PSW:存状态标志与控制标志(争议:也有将其归为控制器的)

控制器的组成:

  • 程序计数器PC:存储吓一跳要执行指令的地址
  • 指令寄存器IR:存储正在执行的指令
  • 指令译码器ID:对指令中的额操作码字段进行分析解释
  • 时序部件:提供时序控制信号 

七、指令系统

 立即寻址方式

操作数直接在指令中,速度快,灵活性差

直接寻址方式

指令中存放的是操作数的地址

间接寻址方式

指令中存放了一个地址,这个地址对应的内容就是操作数的地址

寄存器寻址方式

寄存器存放操作数

寄存器间接寻址方式

寄存器内存放的是操作数的地址 

计算机中最基本的单位基准时间为时钟周期

在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期(也称CPU周期)。

指令周期是指取出并完成一条指令所需的时间,一般由若干个机器周期组成

总结:

指令周期>机器周期>时钟周期

八、容量的换算

位(b/bit):存放一位二进制数

字节(B/Byte):8个二进制位为一个字节

1B=8b                       1KB=1024B                 1MB=1024KB                   1GB=1024MB 
1TB=1024GB            1PB=1024TB               1EB=1024PB                   1ZB=1024EB 
1YB=1024ZB

九、内存编址

内存编址:存储器由一块块的空间(存储单元)组成,为了方便寻找到每一块空间,我们需要对每一个空间进行标识,即用地址(唯一的编号)来标识内存每个单元。

内存容量=每个芯片容量*芯片个数

每个芯片的容量=一个地址代表的容量*编址总数

十、高速缓存Cache

基于成本和性能方面的考虑,Cache(即高速缓存)是为了解决相对较慢的主存与快速的CPU之间工作速度不匹配问题而引入的存储器

Cache中存储的是主存内容的副本。

在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)。

使用Cache改善系统性能的依据是程序的局部性原理:

时间局部性:某条指令一旦执行,可能将会再次被执行;某数据被访问,可能将会再次被访问。

空间局部性:某程序一日访问了某个存储单元,其附近的存储单元也可能将会被访问。


你可能感兴趣的:(软考程序员学习笔记,学习,笔记,计算机)