第一章、计算机组成原理与体系结构(6分)

上午考试

第一章、计算机组成原理与体系结构(6分)

1、数据的表示

1.1、 x进制转化为10进制转换(按权展开法)

1、x进制转化为10进制

2、注意

(1)x进制转10进制,底数就是x,也就是权

(2)如果出现0,则不用计算0

3、例子

image-20240215155826445

1.2、10进制转换为x进制(使用短除法)

1、把这个108十进制转换为2进制,使用短除法

image-20240215161224806

2、注意

(1)如果是x进制,则除数为x进制

(2)最后取余等于0或者等于本身

(3)要记余数,最后余数取反

(4)什么时候停止:被除数小于权(除数)

1.3、技巧

1.3.1、二进制转换为八进制

1、三个二进制对应一个八进制

2、1个八进制对应3个二进制

1.3.2、二进制转换为十六进制

1、十六进制中:A=10,B=11,C=12,D=13,E=14,

2、十进制中16==十六进制中的10。

3、4个二进制对应一个十六进制位。

1.4、原码、反码、补码、移码

1、正数的原码、反码、补码都是其本身

2、负数原码—>补码:在原码全部取反+1(补码—>原码也相同)

注意

(1)如果不够符号位,直接补0

(2)如果为负数,首位(符号位)为1

(3)如果为正数,首位(符号位)为0

1.4.1、反码

1、反码正数与原码相同

2、反码负数,除符号位,其他位数取反(1==0,0==1)

1.4.2、补码

1、补码正数与原码相同

2、补码是在反码的基础上+1

3、使用补码进行加减法运算

1.4.3、移码

1、移码是将补码的符号位取反

2、数值的表示范围

2.1、定点小数、定点整数

1、定点整数

1、就是小数点在数字的最右边(一般数学都忽略)

2、小数点不占用,位数。所以就不会影响数据

2、定点小数

1、就是小数点在符号后面。

2、小数点不占用,位数。所以就不会影响数据

2.2、范围

1、学会带入计算就好

2、最高位是符号位,不参与计算

image-20240215164724861

补充:

1、8个比特位=1个字节,一个字节的范围是-127~127

2、补码和移码少一个数,为0

2.3、浮点数运算

1、浮点数表示

image-20240215165410467

2、特点

  • 1、一般尾数用补码,阶码用移码,这里的解码也就是指数

  • 2、阶码的位数决定数的表示方式,位数越多,范围越大(就是x次方)

  • 3、尾数的位数决定数的有效精度,位数月多越精确(小数点“.”后面的数)

  • 4、对阶时,小数向大数看齐(两个数,阶码要一样,就小的阶码,对大的阶码。)

  • 5、对阶是通过小数的尾数右移实现

3、运算过程

1、对阶

2、尾数计算

3、结果格式化

4、对阶例子

(1)例子对阶

image-20221115224258044

(2)浮点数存储

image-20221115224817047

3、计算机结构

3.1、计算机五大件

3.1.1、CPU

1、组成:运算器、控制器

2、运算器内容

(1)算术逻辑单元ALU:数据的算术运算和逻辑运算

(2)累加寄存器AC:通用寄存器,为ALU提供一个工作区,暂存数据

(3)数据缓冲存储器DR:在内存中,暂存指令或数据

(4)状态条件寄存器:例如进位、溢出。特殊在软考中,有时是运算器中、有时是在控制器中,存状态标志与控制标志

3、控制器

(1)程序计数器PC:存程序中指令多少数,CPU将要使用的下一条地址。

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

(3)地址寄存器DR:记录CPU所要访问的地址

(4)指令译码器IR:堆指令中的操作码字段继续努力分析和解释

(5)时序部件:提供时序的顺序

(6)帮记:①记录有多少条代码,和下一条的代码,②记录当前代码执行,③要怎么翻译,④是什么时间顺序

3.1.2、存储

1、内部存储和、外部存储

2、硬盘为外部辅助存储

4、计算机体系结构分类—Flynn

4.1、分类

S:single

I:instruct

S:stream

D:datea

体系结构类型 结构 关键特征 代表
单指令流单数据流SISD 控制部分:1个、处理器:1个、主存模块:1个 单处理器系统
单指令流多数据流SIMD 控制部分:1个、处理器:多个、主存模块:多个 各处理器以异步的形式执行同一条指令 并行处理机、阵列处理机、超级向量处理机
多指令流单数据流MISD 控制部分:多个、处理器:1个、主存模块:多个 被证明不可能,至少是不实际 目前没有,有文献称流水线计算机为此类
多指令流多数据流MIMD 控制部分:多个、处理器:多个、主存模块:多个 能够实现作业、任务、指令等各级全面并行 多处理机系统多计算机

5、指令的基本概念

1、一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下

操作码字段 地址码字段

2、操作码:要执行的内容。例如加法、减法、取数、存数等。

3、地址码字段:包含各操作数的地址及操作结果的存放地址(操作数地址+结果存放地址)

  • 地址结构的角度:三地址指令、二地址指令、一地址指令和零地址指令。
  • 如图
  • image-20240215182423365

6、寻址方式

1、立即寻址方式

1、特点:操作数直接在指令中,速度快,灵活性差(珠宝就在面前,直接拿)

2、直接寻址方式

1、指令中存放的是操作数的地址(珠宝放在保险箱里,我们通过钥匙来打开箱子得到珠宝)

3、间接寻址方式

1、指令里存放了一个地址,这个地址对应的内容就是操作数的地址(珠宝放在第1个保险箱里,我们把钥匙放在第2个保险箱里,我们用第二个钥匙来获取珠宝)

2、我们就相当于要寻找两次地址

3、如图

image-20240216180455635

4、寄存器寻址方式

1、就是寄存器存放操作数

2、和上面的直接寻址方式一样,只是这个放在寄存器中

3、图例

image-20240216181031826

5、寄存器间接寻址方式

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

2、和上面的间接寻址方式一样,只是这个放在寄存器中

3、图例

image-20240216181133524

7、CISC与RISC

1、内容

1、CISC:是复杂指令级计算器

2、RISC是精简指令级计算器

3、区别

指令系统类型 指令 寻址方式 实现方式 其他
CISC(复杂) 数量多,使用频率差别大,可变长格式 支持多种 微程序控制技术(微码) 研制周期长
RISC(精简) 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 支持方式少 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 优化编译,有效支持高级语言

2、比较

1、维度

  • 指令数量、指令使用频率、寻址方式、寄存器、流水线支持、高级语言支持

2、CISC:复杂、指令数量多、频率差别打、多寻址

3、RISC:精简、指令数量少、操作寄存器、单周期、少寻址、多通用寄存器、流水线

8、流水线

1、概念

1、相关参数计算:流水线执行时间、流水线吞吐率、流水线加速比、流水线效率

2、流水线是指:

  • 在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
  • 各种部件同时处理是针对不同指令而言的,它们可以同时为多条质指令的不同部分进行工作
  • 以提高个部件的利用率和指令的平均执行速度

3、图示

image-20240216183901730

2、流水线计算

1、一条指令完成分:取指、分析、执行

1、公式概念

1、流水线周期:执行时间最长的那一段时间(取指、分析执行其中最长的)

2、流水线计算公式

  • *1条指令执行时间 + ( 指令条数 - 1 ) 流水线周期** //选择题可能算不出来,我们就引入实践公式
  • 理论公式:
    image-20240216185307838
  • 实践公式:
    image-20240216185343205
  • 其中K是第一条只指令执行的时间

2、例子

1、题目

image-20240216185412773

2、答案解析

image-20240216185719286

3、流水线计算延伸

1、图解理论公式

image-20240216185840221

2、图解实践公式

image-20240216185914989

3、超标量流水线

1、度为2,就是两倍速度

2、有两个取指、两个分析、两个执行

3、如图

image-20240216190230196

4、流水线吞吐率计算

1、概念

  • 流水线吞吐量(Though Put rate,TP)
  • 是指在单位时间内流水线所完成的任务数量或输出的结果数量。

2、流水线吞吐量公式

  • 如图
    image-20240216190801916

3、流水线最大吞吐率公式:

  • 如图
    image-20240216190843995
  • 就是: 1/流水线周期

9、层次化存储结构

1、局部性原理是层次化存储结构的支持

image-20240216194837547

10、Cache

1、概念

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

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

3、如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3

  • t3 = h x t1 +(1-h) x t2
  • 其中,(1 - h )又称为失效率(未命中率)

2、映像

1、直接相联映像:硬件电路较简单,冲突率很高

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

3、组相邻映像:直接相联与全相联的折中

4、地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)

5、例子

  • 某计算机主存容量为1GB,划分为2058页,每页512KB;Cache容量为8MB,划分为16页,每页512KB

1、直接相联映像

1、这个1个页号只能存一个数据,所以冲突率特别高。例如第0页,只能存第0页的数据。

2、图示

image-20240216202216494

2、全相联映像

1、这个1个页号也只能存一个数据,但是,只要第0页是空的,我们就可以把其他页存放在0页号区。这样冲突率最低,但是会更复杂。(因为记录的东西会很多)

2、图示

image-20240217172744220

3、组相联映像

1、我们这里是先分区,后分组。一个组内只能放一个组内的数据,依然很复杂

2、图示

image-20240217172905522

11、主存编址与计算

1、内容

1、存储单元

2、按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字

3、按字节编址:存储体的存储单元是字节存储单元,即最小寻址单元是一个字节

4、根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数:即

  • 总片数 = 总容量 / 每片的容量

2、例子
image-20240217173946776

解答

image-20240217174527680

12、总线

1、概念

1、一条总线同一时刻仅允许一个设备发送,但允许多个设备接受

2、总线的分类

1、数据总线(Data Bus)

1、在CPU与RAM之间来回传送所需要处理或是需要存储的数据

2、地址总线(Address Bus)

1、用来指定在RAM(Random Access Memory)之中存储的数据的地址

3、控制总线(Control Bus)

1、将微处理器控制单元(Control Unit)的信号,传送到周边设备,一般常见的为USB Bus 和 1394Bus

13、串联系统与并联系统

这里考察的是可靠性

1、串联系统

1、R为可靠性

2、串联系统的可靠性:所有R相乘

3、失效性:所有失效性相加

3、图解

image-20240217175520640

2、并联系统

1、如图

image-20240217175733325

3、N混合模式

1、就是一个串联,一个并联。这样

2、如图:

image-20240217175823357

14、校验码

1、校验码基础知识

1、码距

  • 任何一种编码都由许多码字构成
  • 任意两个码字之间最少变化的二进制位数就成为数据校验码的码距
  • 用4位二进制表示16种状态,则有16个不同的的码字,此时码距为1。
  • 个人理解:就是有几位二进制位发生改变,就有几个码距。

2、例子

1、我要 01 —> 10 这个数据的码距是多少?

image-20240217180623172

2、0000—>0001,此时码距为多少?

image-20240217180634771

2、奇偶校验

1、方法

1、有若干位有效信息(如1个字节),再加上1个二进制位(校验位)组成校验码。

2、奇校验

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

2、例子

题目:1011 这个数据进行奇校验

  • 1011【1】这里+1
  • 所有的1便成了偶数。
  • 这个就检验出了错误。

3、偶校验

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

2、例子

题目:1010这个数据进行偶校验

  • 1010【1】 这里+1
  • 其中所有的1便成了奇数
  • 这个就检验出了错误

4、注意

1、奇偶校验,可以检查出1位错误,但是不可以纠错

2、例子

题目:1011 这个数据进行奇校验

  • 1011【1】这里+1
  • 所有的1便成了偶数。
  • 这个就检验出了错误。
  • 但是不能纠错

3、循环校验码CRC

1、内容

1、CRC的编码办法是:在k位信息码之后拼接r为校验码。应用CRC码的关键是如何从k位信息简便地得到r位校验码(编码),以及如何从k+r位信息码判断是否除错

2、循环冗余校验码规则如下:

  • 把待编码的N位有效信息表示为多项式M(X)
  • 把M(X)左移K位,得到M(X)xX的k次方。这样空出了K位,以便拼装K位余数(即校验位)
  • 选取一个K+1位的产生多项式G(X),对M(X)xX的K次方,做模2除
  • 把左移K位以后的有效信息与余数R(X)做模2加减,拼接为CRC码,此时CRC码共有N+K位

3、把接收到的CRC码用约定的生成多项式G(X)去除,如果正确,则余数为0;如果某一位除错,则余数不为0,不同的位数出错其余数不同,余数和出错位序号之间有一位的关系

2、什么是模2除法?

  • 在做除法运算的过程中不计其进位的除法
  • 就是进位,借位都不计算
  • 然后最后的余数补在被除数后面。
  • 除尽正确,除不尽有问题
  • 例子
  • image-20240217205052181

3、例子

1、题目

image-20240217205519872

2、多项式怎么算?

image-20240217205545215

3、过程

image-20240217205704103

4、注意

1、CRC校验,可检错,不可纠错

4、海明校验码

1、原理

1、在有效信息位中加入几个校验位形成海明码,

  • 使码距比较均匀地拉大,
  • 并把海明码的每个二进制分配到几个奇偶校验组中。

2、当某一位出错后,

  • 就会硬气有关的几个校验位的值发生变化
  • 这不但可以发现错误,
  • 还能指出错误的位置
  • 位自动纠错提供了依据

2、公式

$$
2^r ≥ m+r+1== 2^r-1≥m+r
$$

1、其中r是校验位,也是我们需要掌握的。要几个校验位才能检错和纠错

2、m是数据位

3、图解原理

image-20240217210952531

4、例子

image-20240217211450031

评论

  1. 123321
    1 年前
    2025-4-02 11:06:23

    4112121

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇