寒假计组考研笔记(1,2章)

1.1.1软硬件的发展

概念

1.微处理计算机的发展是以微处理器(很复杂的功能集成在非常小的硬件上 )的发展为标志的

2.机器字长(通常就是cpu位数):指的是计算机进行一次整数运算所能处理的二进制数个数(数据总线宽度)

操作系统位数:影响的是整个系统能够访问存储空间的大小

操作系统位数 = 其所依赖的指令集位数 <= CPU位数(cpu向下兼容)

操作系统和指令集是可以向下兼容的,有64位CPU上运行32位操作系统、32位CPU上运行16位操作系统的情况

向上兼容 (UpwardCompatible )

在较低档计算机上编写的程序,可以在同一系列的较高档计算机上运行

向下兼容 (Downward Compatible)

较高版本的程序能顺利处理较低版本程序的数据。

3.计算机发展的三大历程:电子管,晶体管,中小规模集成电路,大规模集成电路

1.2.2cpu及工作过程

控制器组成:

pc(存放指令地址,且自动+1)
cu(分析指令,给出控制信号)
ir(存放当前执行的指令)

从存储器中取数据

加括号的意思:M(MAR),从存储单元M中取MAR的数据

取数指令例子

1.先从pc中读取指令内容
2.用MAR从存储体中读取数据放入MDR中
3.将MDR中的数据取出放入IR中,取指令操作结束
4.解析指令码:将操作码(op)放入cu控制单元,解析成控制信号,分析指令结束
5.执行指令:按照地址码(AR),将地址码传入MAR,再根据MAR从存储体中取值放入MDR,然后将MDR所存的数据放入ACC中即可
在这里插入图片描述

1.2.4软件系统

分为系统软件和应用软件

编译:将高级语言转换为低级语言
使用编译器

汇编:将汇编语言转换为机器语言
使用汇编器

在这里插入图片描述

编译型语言:
必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下的 .exe),比如C语言、C++、Golang、Pascal(Delphi)、汇编等使用的转换工具称为编译器

解释型语言:
有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,使用的转换工具称为解释器。
在这里插入图片描述

1.2.5五层结构:

在这里插入图片描述

冯诺伊曼机特点

1.硬件有存储器,运算器,控制器,输入输出设备组成
2.采用二进制存储表示指令和数据
3.采用存储程序的工作方式

1.2.6层次结构-存储器

在这里插入图片描述
红:一个存储元
黑:一个存储单元,由多个存储原组成
绿:当读数据时,一次性只能读取一行存储元,运用不同的译码表示不同的二进制来确定是哪一行(如果一次性读入两行,同一条竖线的数据可能不一样)

1.3.2性能指标-速度

时钟周期

如图,时钟发生器发出的脉冲信号做出周期变化的最短时间称之为震荡周期,也称为 CPU 时钟周期。它是计算机中最基本的、最小的时间单位。

上面说到,每一次脉冲(即一个震荡周期)到来,芯片内的晶体管就改变一次状态,让整个芯片完成一定任务。一个震荡周期内,晶体管只会改变一次状态。由此,更小的时钟周期就意味着更高的工作频率
在这里插入图片描述

主频

时钟周期的倒数
一秒(1 s)内,震荡周期的个数称为时钟频率,俗称主频。
主频越大,cpu的运行效率越快

cpi

执行一条指令所需要的时钟周期数
该指令耗时:cpi × cpu时钟周期

ips

每秒执行了多少条该指令==主频/cpi

2.1.3BCD码

BCD码有什么用?

BCD码是用二进制数对十进制数编码,明明可以直接把十进制数转化为二进制数,为什么非要搞一个四位对一位的BCD码?

要传输一个十进制数,肯定要先转成二进制,==如果用传统的除二取余和乘二取整进行真实的转化,设计起来太复杂,==如果单纯为了传输而不需要对数字进行加减等处理的话,搞个四位对一位的编码最省力,很容易用一个四输入一输出的编码器电路实现,传过去之后再用译码器转成十进制就行了

2.1.5 奇偶校验码

限制:只能检验出奇数位的错误,并且只能检错不能纠错
码距:

2.1.6海明校验码

校验步骤:

1.确定校验位位数
信息位n位,校验位k位,要用k位的校验位来校验k+n个位置的错误信息,以及唯一一种正确情况,所以要满足的条件就是:在这里插入图片描述
2.确定校验位分布
校验位放在海明位2的i-1次方的位置
在这里插入图片描述
3.求校验位的值
当信息码位1010时
H1:放的是校验码,竖线中,所有值为1的对应到H中的值相异或,得P1=0
H2:放的是校验码,同理P2=1
H3:放的是信息码,即0
H4:放的是校验码,同理P3=0
H5:放的是信息码,即1
H6:放的是信息码,即0
H7:放的是信息码,即1
在这里插入图片描述
求值完成后,校验码各位存放的值为:
在这里插入图片描述
检错
校验位分别和产生此校验位的信息位再作异或(异或就是看两者一不一样),若全为零,则说明接收到的数据无误若有1,则可以将其转换为十进制得出是第几位出了问题,然后将该位取反即可得到正确编码在这里插入图片描述

2.1.7循环冗余校验码

在这里插入图片描述

步骤

1.找到被除数:信息码101001
2.找到除数:生成多项式1101
3.模二除法运算得出校验位
在这里插入图片描述
4.将校验位放在被除数后得到crc码
了解:
5.检错和纠错
将收到的校验码与生成多项式对应的二进制数进行模二除运算
在这里插入图片描述
余数为全零时,代表没有错误,余数不全零时则对应第几位出错

2.2.3移位

移码

把补码符号位反过来

浮点数的规格化

1)原码规格化后。

● 正数为0.1××…×的形式
● 负数为1.1××…×的形式

2)补码规格化后。

● 正数为0.1××…×的形式
● 负数为1.0××…×的形式

算术移位

原码的算术移位:左移或者右移都添0

当左移除1时,运算出错

当右移除1时,对精度有影响

反码(负):左移或右移都添1

补码(负):左移0,右移1

逻辑移位

移丢的位都添0

乘法

原码一位乘

两个寄存器:累加寄存器(ACC)和乘商寄存器(MQ)
在这里插入图片描述

补码一位乘BOOTH乘法

在这里插入图片描述
同样使用ACC和MQ,但是最后一位初始值要添一个0(y的符号位),因为后续操作需要末两位进行运算得到的值来决定下一步操作。
在这里插入图片描述
向右移位时,最前面的两位符号位不能时01或者10(溢出),所以最高位是1时,右移添1,最高位是0时,右移添0.

两种乘法的区别

补码一位乘中,符号位参与了运算,所以要比原码一位乘要多+一次

除法

没看

2.2.6强制类型转换

短整数转换为长整数:符号扩展
长整数转换为短整数:高位截断,保留低位

2.3.1浮点数的加减运算

步骤
1.对阶:小向大转化
2.尾数运算:用补码进行运算
3.规格化(如果尾数发生溢出情况,可以改变阶码来使尾数移位)
4.舍入:零舍一入法 规格化过程中如果右移除1时(左移会导致运算错误),会在末尾+1,如果尾数又溢出则再进行规格化,如果移除0则不处理
恒置1法 无论移除0还是移除1都在末尾置1
5.判溢出:若规格化过程中阶码改变,那么就对阶码进行判断,如果此时阶码发声溢出,那么本次运算溢出,反之不溢出。

2.3.2IEEE754标准

1.尾数最高位默认为1.
2.最高位为数符
3.阶码用移码表示(要减偏置值)
浮点数的规格化

2.4.1基本逻辑单元

算数逻辑单元:ALU

ALU核心的部件:加法器
功能:
在这里插入图片描述
下面写错了,M表示的时ALU要做的是什么运算,比如M=1就表示ALU将进行逻辑运算
实例:
在这里插入图片描述

几种逻辑运算的电路设计

与门

电路设计:(右边的那个是直的)在这里插入图片描述
特点:有天然的屏蔽作用
真值表
a b y
0 0 0
0 1 0
1 0 0
1 1 1
当a为0时,可以直接屏蔽掉b的值
当a为1时,可以将b的值直接传递给y

或门

电路设计:(右边那个是弯的)

大于等于1的含义:只要有大于等于一个数的值为1,则y为1

在这里插入图片描述

非门

在这里插入图片描述
与非(天然屏蔽)和或非:
在这里插入图片描述

异或

在这里插入图片描述

用与非和或非进行表示
在这里插入图片描述

2.4.2加法器设计

一位全加器

与门 ------------ 异或
a b c ------------ x y z
0 0 0 ------------ 0 0 0
0 1 0 ------------ 0 1 1
1 0 0 ------------ 1 0 1
1 1 1 ------------ 1 1 0
可以看出规律,与门的结果就是进位值,异或门的计算结果就是和
但是这是一位二进制位的情况下,那么多位的二进制位就需要三个参数
1.本位两个参与运算的参数a,b
2.来自上一位的进位ci-1
产生si:好理解,即是异或的值
绿色部分产生ci:如果本级的a,b都为1,那么对应的值再和ci-1相与,那么都为
由于
在这里插入图片描述
图示一位加法器:
在这里插入图片描述
有了一位加法器之后,我们就可以用它来设计多位的加法器,比如

串行加法器(慢)

只需要在一位加法器上加一个进位触发器即可,即只有一个全加器数据逐位串行送入全加器中,进位触发器用来记录本位的进位信息,以供下一位使用
在这里插入图片描述

并行加法器(快)

串行进位的并行加法器
在这里插入图片描述
4位CLA加法器
在这里插入图片描述
同理可得ALU也就可以看成是高级的加法器,其运算过程和加法器同理
注:加法器最基础的模块是一位全加器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值