早期的冯诺伊曼机

image-20210906200331331

由于很多部件需要经过运算器才能访问存储器,十分拉跨,让运算器干了更多的活儿,会导致数据的处理效率降低。

现代计算机结构

image-20210906200640745

注意:辅助存储器(硬盘),需要看成是一种IO设备。

主存储器

image-20210906195730378

运算器

image-20210906200109982

控制器

image-20210906203018924

PC自动加一功能,就是在完成一条指令后,自动加一,读取下一条指令。

计算机的工作过程

image-20210906204651464

image-20210906210408493

知识总结

image-20210906210620890

image-20210906210737401

计算机系统的层次结构

image-20210906211415006

image-20210906212010843

计算机的性能指标

存储器

image-20210907200440063

image-20210907200455553

注意上面的单位是B, 不是bit

CPU

image-20210907200959289

image-20210907201146099

注意这里的K/M/G/T和之前描述MB、GB那些不太一样。

一些误区

image-20210907201931852

总结

image-20210907201828837

解释程序和编译程序的区别

除去以前的各种误区

image-20211015141205256

img

各种进制转化、表示

image-20210907203409021

各种进制的常见书写方式

image-20210907203551172

小数部分进制转化的方法

image-20210907204451256

超极奇妙,多多理解!

总结

image-20210907204951908

BCD码

8421码

其实就是4位数表示的权重。注意处理大于10的时候的数字(这里大于10包括在一次相加后大于10)

image-20210907205541668

如果加法运算的结构在合法范围内,则不需要+6操作

image-20210907205927720

复杂的中文编码

image-20210908105925227

数据校验

奇偶校验

image-20210908110454348

下面是添加校验位的规则

image-20210908110630707

计算机通过异或运算,可以进行奇偶校验。(妙)

image-20210908110956315

海明校验

image-20210908112624574

注意分组是怎么分的,这对后面定位错误位置很重要

image-20210908112938011

太妙了,多多推演!

循环冗余校验码

听不懂,什么JB模2÷。

加法器的改进

就是无限套娃,拿着之前的操作不断重复。第一轮的Ai、Bi可以看作后面的4个为一组的Ai~Ai+4 Bi~Bi+4.

image-20210926195951722

image-20210926200008525

image-20210926195844026

定点数、浮点数的各种🐎表示

原码

image-20210909211127330

注意,小数的意思是0.xxxx的数,1.233不是小数,是浮点数。

反码

image-20210909211539766

没什么卵用,只是一个中间状态。

补码

image-20210909212505138

注意,补码只有1种状态表示0,原码有两种状态表示0。

移码

image-20210909213937964

补码的+0、-0只有一种,故移码也是。

数的表示总结

image-20210909214307275

image-20210911135006000

移位运算

原码的算数移位

image-20210911143106928

反码的算数移位

image-20210911143557446

这时候是正数补0,负数补1了

补码的算数移位

image-20210911144437267

这个时候正数补0,负数按照移位方向看补0还是1。

算数移位总结

image-20210911144647180

逻辑移位(看成对无符号数的算数移位)

image-20210911145330357

循环移位

image-20210911150549265

移位总结

image-20210911150613120

加减运算的溢出判断

原码的加减运算太过于复杂

image-20210913102854134

(只有补码,才可以只调用加法器,如果是原码,还得调用减法器)

image-20210911153942219

补码的加减运算

A+B的补码,刚好就等于a的补码,加上b的补码,利用这个就可以算了。

image-20210913103200314

溢出判断

image-20210913103557244

image-20210913103652084

image-20210913104146809

image-20210913104549616

原码的乘法运算

image-20210913110506726

只能说妙,注意初始状态中,ACC种为零,通用寄存器和MQ中存放的都是符号位为零的原码0.xxxxx 最后进行完n轮后,修改acc首位为乘数和被乘数的异或运算结果。

补码的乘法运算

补码的乘法运算,带着符号位一起乘,一起移位,难点有移位补数,以及两位符号位的改动。由于有两位符号位,所以最后还会多来一次加法。

image-20210913114709920

原码的除法运算

补码的除法运算

大小端存储

image-20210914210930617

边界对齐

image-20210914211336945

浮点数的表示

image-20210914211741852

image-20210914212440718

浮点数的规格化(用于浮点数之间加减)

image-20210914213231890

image-20210914213454240

IEEE 754标准

image-20210915210359048

这里的移码是魔改版的,需要注意。还有IEEE 754中的阶码和尾数是用移码和原码表示的,而原先的浮点数是用补码表示的。(移码不需要前面的0、1,因为它自己已经形成了一个映射。)能用8位整体表示正负

image-20210915211729132

注意此时的数符,不是指的阶码的数符,而是整个浮点数的数符。

还有一点非常重要,这里的尾数隐藏了之前的1.,只记录小数点之后的尾数。而且这里的尾数的第一位也不是尾数的符号。因为符号之前第一位已经弄好了。

IEEE 754尾数部分天然完成了规格化

image-20210915215119465

image-20210915215524420

两道例题

image-20210917150422248

image-20210917150449774

浮点数的加减运算

image-20210917151713534

这里注意使用补码的加减法则具体可以看补码的加减运算那一节。注意对阶的时候,是小阶向大阶对齐,否则有大概率会进行规格化。(直接尾数每右移一位,阶码加一,小数点后面按照补码规律补数字)

image-20210917154112373

终极离谱,规格化的时候,由于是双符号位,得看高位符号位的值,来判断真正的符号,这样在右移的时候才能在左边补上正确的符号。

电路的基本原理

image-20210917160206418

主存简单模型和寻址概念

image-20210917192307920

image-20210917194232358

使用译码器,防止一个存储单元接收到多个信号,发生冲突。片选线,是控制开关的一个线。这里8K的意思是换算成就是 8K = 8 * 1K = 2^3 * 2 ^10 = 2 ^ 13 注意这里不是8K个bit,而是8K个存储单元/存储字长(不是字哦),所以可以理解成是8KB。所以算得最后应该有13条地址线。

数据线的根数就是存储字长(一个存储单元的位/bit数),地址线的根数就是决定有二的多少次方个存储单元

寻址

image-20210917200439225

注意这里是H结尾12345678H是16进制数。这里一行不是一个存储单元,而是一个字,包含了多个存储单元,图中是4B,则包含了4个存储单元。

SRAM和DRAM

image-20210917202044132

半导体存储器ROM

image-20210917203300173

总结

image-20210917203747542

image-20210917203324055

主存与CPU的连接

image-20210917204818031

太牛B了,终于听懂什么是片选了,这里有两种方法,图中那个非门那个是最简单的,2选1的片选。将CPU上方那些空闲的Axx接上译码器可以多选一(下图)。

字拓展

image-20210917205307237

位拓展

image-20210917210530508

因为这样可以拓展位数(快快意会)。

Cache

地址映射的各种方式

一共有3种方式

1.空位随意放:全相联映射

image-20210922205226758

2.对号入座:直接映射

image-20210922205525371

3.融合贯通:组相联映射

image-20210922210327530

总结

image-20210925203804585

替换算法

image-20210925204125581

image-20210925204635211