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

news/2024/11/23 23:31:17/

在这里插入图片描述

目录

🍊一、进制之间的转换

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

原码

反码

补码

 移码

🍊三、浮点数表示法

(1)浮点数表示

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

🍊四、校验码

(1)奇偶校验码

(2)海明码

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

【模二运算的知识拓展】

🍊 五、计算机系统的组成

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

运算器的组成: 

控制器的组成:

🍊七、指令系统

 立即寻址方式

直接寻址方式

间接寻址方式

寄存器寻址方式

寄存器间接寻址方式

🍊八、容量的换算

🍊九、内存编址

🍊十、高速缓存Cache


一、进制之间的转换

进制的种类:

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

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

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

原码

将数据用二进制形式表示,最高位为符号位,正数为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)两浮点数进行运算的过程

运算过程:

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

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

四、校验码

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

(1)奇偶校验码

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

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

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

(2)海明码

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

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

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

【模二运算的知识拓展】

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

模二加:+

模二减:-

模二乘:×或●

模二除:÷或 /

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

 五、计算机系统的组成

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

运算器的组成: 

  • 算术逻辑单元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改善系统性能的依据是程序的局部性原理:

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

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



http://www.ppmy.cn/news/339069.html

相关文章

记录一下苹果ID

免费美区苹果ID ydnnx0163.com----Ax112211----yue671 oppz6c163.com----An112211----tan377 i3xqdd163.com----Ax112211----kua929

apple id是什么意思

apple id,即Apple ID,是您用来访问所有 Apple 服务的个人帐户。凭借一个 Apple ID 和密码,您便能够在 iTunes Store 和 App Store 中购物、在您的所有设备上设置 iCloud、使用 iMessage 和 FaceTime 与朋友和家人交流,还能在 Appl…

苹果手机怎么下载铃声

先在电脑上下载一个iTunes,用相同的苹果ID登录之后,用数据线连接电脑和手机。打开iTunes文件之后选择“设备”进行同步,将提前下载好的M4R格式的铃声拖入iTunes软件,并且保存在铃声的列表里,用手机打开电话铃声就可以了…

移动端日期转换格式在苹果手机里有要求

在苹果手机里不能识别由“2019-08-10 11:00” 这样转换过来的时间戳,需要“2019/09/10 11:00”的格式转换过来的时间戳才可以被苹果手机兼容;具体转换如下: 1.在data里定义绑定的时间time:"",时间格式是YYYY/MM/DD HH:m…

iOS appid (wildcard ID和explicit ID)

1、苹果的app id分为2种,一种是explicit ID , 直译为 显式ID, 一种是wildcard ID ,直译 通配ID。在创建app id的时候可以设置,创建之后类型不可切换。 2、2种ID最直观的区别,explicit ID必须是全名&#x…

手机上怎么打开md格式的文件_IPHONE手机转为安卓手机,iCloud上的日历迁移方法...

现在使用安卓手机的人也越来越多,很多的是果粉阵营的人转过来的,原果粉iCloud上的日历等备份资料就需要进行相关的迁移。苹果的iCloud相对于安卓系统来说比较封闭。对一些资料的迁移,如iCloud日历的迁移就有一些难度。不过可以采取一些方法完…

苹果下载不了软件怎么办?手把手带你搞定

苹果下载不了软件怎么办?不知道各位在使用自己的苹果手机时有没有遇到这样的问题,之前将一部闲置iPhone格式化以后想要重新下载一些软件,但是应用商店无法正常使用,排查了各种问题以后发现可以通过以下几个步骤来解决无法下载软件…