《计组》王道笔记

---------------------------------------------------------------------------------------------------------------------------------

声明 ①极简

        ②可能有误

        ③持续更新中

---------------------------------------------------------------------------------------------------------------------------------
 

一、计系

1.1、计的发展

纸条编程,有孔-0,无孔-1

计算机系统=硬件+软件

软件

①系统软件,管理整个计系
②应用软件,按需编的各种程序

硬件的发展

①电子管
②晶体管
③中小规模集成电路
④(超)大规模集成电路

1.2、计系统层次结构

1,硬件

硬件的基本组成

①早期冯诺依曼机的结构
②现代计算机的结构

存储程序(冯首次提出)
将指令,以二进制代码的形式,事先输入计的主存储器,然后按其首地址,执行程序的第一条指令,然后按该程序的规定顺序,执行其他指令,直至程序结束

早期冯诺依曼机

1️⃣软件

数据+程序

  
2️⃣硬件

①输入设备,把信息转换成,机器能识别的形式
②存储器,存数据+程序
③运算器,算术运算+逻辑运算
④控制器,指挥程序运行
⑤输出设备,把结果转换成,人熟悉的形式

  

计系中,软件和硬件,在逻辑上等效

冯——特点
①计算机,由五大部件组成
②指令和数据,以同等地位存于存储器,可按地址寻访
③指令和数据,用二进制表示
④指令,由操作码和地址码组成
⑤存储程序
⑥以运算器为中心(⇒低效)

现——特点

①以存储器为中心
②CPU=运算器+控制器

2,主存储器

存储体,按地址存数据
MAR位数,反映存储单元的个数
MDR位数=存储字长

··

MAR=4位⇒总共有2⁴个存储单元
MDR=16位⇒ 每个存储单元可存放16bit

1个字   (word)= 16bit
1个字节(Byte)= 8bit

1B=1个字节

1b=1个bit

存储体——内部概念

存储单元:存一串二进制代码

(每个地址,对应一个存储单元)

存储单元中

①存储字(word):二进制代码的组合
②存储字长:二进制代码的位数

   
存储元:存二进制的电子元件,1存储元可存 1bit

3,运算器

运算器

算术运算(+-*/)

逻辑运算(与或非)

运算器——组成

1️⃣ACC,累加器

①存操作数
②存运算结果

  
2️⃣MQ,乘商寄存器,*/时

①存操作数
②存运算结果

  
(3)X,通用的操作数寄存器

存操作数

   
(4)ALU,算术逻辑单元(最贵)

通过电路,算数运算+逻辑运算

4,控制器

控制器——基本组成

①CU:控制单元,分析指令

②IR:指令寄存器,存当前指令

③PC:程序计数器,存放下一指令的地址,能自动+1

完成一条指令——步骤

①取指令       PC——取指

②分析指令      IR——取指

③执行指令      CU——执行

计——工作过程

必经步骤

①(PC) —> MAR

②M(MAR) —> MDR

③(MDR) —> IR

④取指令结束 (PC)+1 —> PC

⑤OP(IR) —> CU

⑥分析指令结束

   

可能步骤

①Ad(IR) —> MAR

②M(MAR) —> MDR

③(MDR) —> ACC

④执行指令结束

CPU区分指令和数据:指令周期的不同阶段

现在的计算机,把MAR、MDR也集成在CPU

5,计软

计软——种类

①应用软件,为了解决某问题,而编制的程序

②系统软件,管理硬件资源,并向上层应用程序提供基础服务

语言

①高级语言:C/C++、Java、Python

②汇编语言:助记符

③机器语言:二进制代码

高语——>机语

翻译程序

①编译器(一下全部翻译)

②汇编器

③解释器(同步翻译)

软件和硬件的逻辑功能等价,同一功能

①可用硬件实现(性能高成本高)

②可用软件实现(性能低成本低)

指令集体系结构(ISA),软件和硬件之间的界面

设计系的ISA,需要定义

①一台计,可支持哪些指令

②每条指令的作用

③每条指令的用法

6,计系

计——层次结构

软件

M4,高语机器⇒执行高语

M3,汇语机器⇒执行汇语

M2,OS机器⇒向上提供广义指令

   

硬件

M1,传统机器⇒执行机语指令

M0,微程序机器⇒执行微指令

计系——工作原理

1.3、计的性能指标

MAR位数,存储单元最多有多少个
MDR位数=存储字长=每个存储单元的大小

总容量=存储单元个数×存储字长 bit 
总容量=存储单元个数×存储字长/8 Byte

总容量——例题
MAR=32位
MDR=8位


总容量=2^32 * 8 bit = 4GB

CPU——性能指标

数据通路带宽(路有多宽)
数据总线一次,所能并行传送信息的位数

吞吐量(淘宝能收多少信息)
指系统,在单位时间内处理请求的数量

响应时间
①人向计,发送1请求
②系统对该请求,做响应
③人获得结果
的等待时间

基准程序(跑分软件)
测量计处理速度的一种实用程序

数量单位

二、数据的表示和运算

2.1、数制与编码

1,无符号数

定点数,小数点的位置固定              Eg:9.007 ——常规计数
浮点数,小数点的位置不固定          Eg:9.96*10² ——科学计数法

无符号数——定义
整个机器字长的全部二进制位,all为数值位,没有符号位,=|数|
(只有无符号整数,没有无符号小数)

无符号数——范围
位数=n,范围∈[0,2ⁿ-1]

2,有符号数

真值——范围
若机器字长=n+1,真值∈[0,2ⁿ⁺¹-1]
(原因,真值有+0和-0)

真值
①+0,原码=0,0000000
②-0, 原码=1,0000000

          

原码

原码——定义
①符号位,0+,1-
②数值位(尾数),=|真值|

原码——写法
例1,-19
一般,[x]原 =1,0010011
机器字长未知,[x]原 =1, 10011

例2,-0.75
[x]原 = 1.1100000

原码——范围
若机器字长=n+1
①原码整数∈[-(2ⁿ-1),2ⁿ-1]
②原码小数∈[-(1-2⁻ⁿ),1-2⁻ⁿ]

原码——缺
①符号位,不能运算
②解决①,贵

           

补码

补码的真值,只有一种,全0

[+0]补= [-0]补= 00000000

补码——范围(多出一个)
①补码整数,∈[-2ⁿ,2ⁿ-1]
②补码小数,∈[-1,1-2⁻ⁿ]

补码——作用
减变加,省硬件成本

     

移码

移码——定义

补码的符号位取反
(只能表示整数)

移码——范围
①移码整数,∈[-2ⁿ,2ⁿ-1]
②移码小数,∈[-1,1-2⁻ⁿ]

移码——作用

便于对比大小

         

转换

原——>补
1️⃣正数
原=反=补

  

2️⃣负数

法一,机算
①原,符号位不变,数值位取反⇒反
②反,末位+1⇒补

      

法二,手算

①找最右1
②1,左边,数值位取反
      ,右边,不变

补——>原

1️⃣正数
补=原

     

2️⃣负数

法一

①数值位取反

②末位+1

    

法二

①找最右1
②1,左边,数值位取反
      ,右边,不变

补——>-补
①符号位,数值位取反
②末位+1

3,进制

r进制,逢r进1(其基数=r)
基数,每个数码位所用到的不同符号的个数

二进制——最适用于计的原因
①可用两个稳定状态的物理器件表示
②0-假,1-真,便于逻辑运算
③便于逻辑门电路,实现算术运算

十—>二
1️⃣算
①整数——除基取余

②小数——乘基取整(∞小数,二进制不能精确表示)

  
2️⃣拼凑法

十—>八

1️⃣直接转
①整数——除基取余
②小数——乘基取整

          

2️⃣十—>二—>八
①十—>二,①整数——除基取余
                    ②小数——乘基取整
②二—>八

    

3️⃣十—>二—>八
①十—>二,拼凑法
②二—>八

引入BCD码——原因
①十—>二,麻烦
②快速转,一一对应

十—>8421
1️⃣手算
①十+
②十—>8421
  

2️⃣机算
①8241+
②若超过1010~1111(10~15),+0110(6)

映射关系

①8421


②余3码


③2421

2.2、运算方法和运算电路

0,逻辑门电路

逻辑门电路——图

异或——作用
①奇个 1,异或结果=1
②偶个 1,异或结果=0

逻辑运算——公式

逻辑运算——优先级
①非>与>或
②()优先级,更高

1,多路选择器

多路选择器——作用
①电路守门员
②多输入,just通过1个

多路选择器——图

2,三态门

三态门——作用
①电路守门员
②根据op,决定是否通过输入

三态门——图

三态门和非门——区别
三态门
①输入
②输出
③控制信号

        

非门
①输入
②输出

3,加法器

一位全加器

(支持1bit加法)

nbit加法器

没封装的

封装的

nbit加法器——缺
进位信息串行,计算V慢

nbit加法器——缺原因
①V=V进位产生+V传递
②位数越多,V越慢
③电信号稳态耗时,V进位产生有延迟
④串行进位/行波进位,进位信号逐级形成(多米诺骨牌)

nbit加法器——别称
①两个输入端,允许并行输入⇒并行加法器
②进位信息,串行产生⇒串行进位加法器
③综上,串行进位的并行加法器

并行进位的并行加法器
all进位信息,同时产生,几乎无延迟

nbit加法器——标志位

①OF(Overflow Flag)溢出标志
判,带符号数+-,是否溢出
OF=1,溢出
OF=0,未溢出

  

②SF(Sign Flag)符号标志
判,带符号数+-,结果的正负性
SF=1,=负
SF=0,=正

   

③ZF(Zero Flag)零标志
判,+-,结果是否为0
ZF=1,=0
ZF=0,≠0

    

④CF(Carry Flag)进位/借位标志
判,无符号数+-,是否溢出
CF=1,溢出
CF=0,未溢出

标志位——公式

                   最高位的进位⊕次高位的进位
                              符号位
            bit 全0,ZF=1
 

4,算术逻辑单元ALU

CPU——图

运算器——核心=ALU
ALU——核心=加法器

ALU——功能
①算术运算,+-*/
②逻辑运算,与、或、非、同或、移位
③求补码
④求直送

ALU——图

5,算术移位


由于原、反、补码位数有限,算术移位,不能精确等效×、÷

补充

移位不用记这么多东西,看我标蓝的

(服了哈哈哈哈哈哈哈,白看了这么多移位)

定点整数

①有符号整数,补码

②无符号整数,无符号数

定点数的移位

①算术移位,补码

②逻辑移位,无符号数

(移位运算,计不区分算术还是逻辑,由数据类型决定)

算术移位——原码

原码——移位原理
①符号位不变
②移数值位

原码——右移
①高位补0
②低位舍弃,若舍=0,等价于÷2
           舍≠0,丢精度

原码——左移
①低位补0
②高位舍弃,若舍=0,等价于X2
           舍≠0,大误差

          
算术移位——反码

正数的反码——移位=原码

+数的反码——右移
①高位补0
②低位舍弃

+数的反码——左移
①低位补0
②高位舍弃

-数的反码——右移
①高位补1
②低位舍弃

-数的反码——左移
①低位补1
②高位舍弃

          

算术移位——补码

+数的补码——移位=原码

+数的补码——右移
①高位补0
②低位舍弃

+数的补码——左移
①低位补0
②高位舍弃

-数的补码——右移=反
①高位补1
②低位舍弃

-数的补码——左移=原
①低位补0
②高位舍弃

6,逻辑移位

逻辑移位=无符号数的算术移位

逻辑右移
①高位补0
②低位舍

逻辑左移
①低位补0
②高位舍

逻辑移位——应用
用3B,存RGB

循环移位
带进位位CF,可留着循环移位

7,定点数的加减

原码——加

(符号位不参与运算,自己判断)

①正+正——>绝对值做加法,结果=正
②负+负——>绝对值做加法,结果=负
③正+负——>|大|—|小|,符号同|大|
④负+正——>|大|—|小|,符号同|大|

原码——减
转成加
①正-负——>正+正
②负-正——>负+负
③正-正——>正+负
④负-负——>负+正

补码——加

①真值——>原
②原——>补
③补相加(符号位参与运算)
④补——>原

补码——减

(减转加)

①真值——>原
②原——>补
③-补——>补
④补相加(符号位参与运算)
⑤补——>原

补码加减——溢出情况

①上溢,正+正=负

②下溢,负+负=正

补码加减——溢出判断

①一位符号位

V=0,无溢出

V=1,溢出

         

②一位符号位,看进位

     

      

V=0,无溢出

V=1,溢出
          

③双符号位

正数符号=00

负数符号=11

  

V=0,无溢出

V=1,溢出

双符号位补码,模4补码

(实际只存1个符号位,运算时复制1个符号位,不会增存储所需空间)

单符号位补码,模2补码

8,无符号数的加减

无符号整数——加法
①从右往左,按位加,进1
②溢出,只留n位

无符号整数——减法
①被减数不变
②减数all取反,末位+1
③加
(减转加,原因=加法电路便宜)

无符号数——加减法判溢出

1️⃣手算

超出[0,2ⁿ-1],溢出

    
2️⃣机算

①加

最高位的进位=1,溢出

②减

(减转加)

最高位的进位=0,溢出

9,补码加减运算电路

补码加减运算电路——图

(也可用于无符号数+-)

10,原码一位乘法

原码一位乘法——元件
①ACC,存乘积高位
②MQ,存乘积、乘积低位
③X,存被乘数

原码一位乘法——方法
①先加法
②再逻辑右移
③重复n次

(符号位不参与运算)

原码一位乘法——机算步骤

  

题目

①机器字长n+1=5
②[A]原=1.1101
③[B]原=0.1011
求A×B
 

步骤

      

         

       

      

原码一位乘法——手算步骤

       

题目

①机器字长n+1=5
②A=−0.1101
③B=+0.1011
求A×B

           

步骤

②符号位=A符⊕B符=1

③结果

真值=-0.10001111

其原码机器数=1.10001111

11,补码一位乘法

原码一位乘法——元件

,MQ中最低位

,辅助位,初始=0

②寄存器,all统一为n+2位,⇒双符号位补码

补码一位乘法——方法
①先加法
②再算术右移
③重复n次

④最后再加一次

(符号位参与运算)

加法——规则

①辅助位-MQ中最低位=1,ACC+[x]补
②辅助位-MQ中最低位=0,ACC+0
③辅助位-MQ中最低位=-1,ACC)+[-x]补

补码一位乘法——手算步骤

12,原码除法

题目

①机器字长n+1=5,含1位符号位
②A=0.1011
③B=0.1101
求A÷B

手算除法(二进制)——步骤

恢复余数法——机算

恢复余数法——手算规律
①不管小数点 
②每确定一位商,减一次,得到4位余数
③余数末尾补0,确定下一位商
④确定5位商即可停止(机器字长为5位)

恢复余数法——手算

①写

|A|=0.1011
|B|=0.1101
[|B|]补=0.1101
[−|B|]补=1.0011

      

加减交替法(不恢复余数法)——手算

恢、加——区别


①余数=负,商0
②余数+除数(恢复)
③左移
④余数-除数

        

①余数=负,商0
②左移
③+除数

    

①余数=正,商1
②左移
③余数-除数

加减交替法,余数的正负=商,商也是⊕

加减交替法——计算次数

一般
①加/减n+1次,每次加减确定一位商
②左移n次

          

最终,若余数=负,商0,并+[|B|]补,得到正余数
①加/减n+2次
②左移n次

408 王道是一种计算机组成原理的学习资料,也是计算机科学和技术领域中的一本经典教材。它由王培元先生编写并在很多高校作为教学教材使用。 408 王道涵盖了计算机组成的相关知识,包括数字电路、指令系统、计算机体系结构、存储器层次结构等内容。这本教材通俗易懂,讲解深入浅出,适合初学者理解和掌握计算机组成原理的基本概念和原理。 在计算机科学与技术的学习过程中,408 王道是非常重要的一本教材。它为学生提供了全面而系统的知识框架,帮助学生理解计算机的工作原理和架构设计。通过掌握408 王道,学生能够了解计算机系统的各个组成部分,学习如何设计和优化计算机硬件与软件。 CSDN(中国软件开发网)是中国最大的IT社区和技术服务平台之一。在CSDN上,开发者可以分享技术经验,讨论问题,获取最新的技术资讯和学习资源。 CSDN上有关408 王道的相关内容很丰富,包括学习笔记、教学视频、在线问答等。学生可以在CSDN上找到很多关于408 王道的学习资料和交流讨论,这对于加深对于408 王道的理解和应用会有很大帮助。 总的来说,408 王道是计算机组成原理领域的一本重要教材,能够帮助学生系统地学习和掌握计算机组成的基本原理。而CSDN作为一个技术社区和服务平台,为学生提供了学习408 王道以及其他计算机科学与技术方面的资源和交流平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值