计算机组成原理
https://juejin.cn/post/7332283754612752423?searchId=2026011712395382D5
计算机概述
组成
计算机系统=硬件+软件
软件:系统软件(操作系统),应用软件
硬件
主机(CPU(运算器和控制器),内存(cache,主存))
外设(或称I/O设备)
五个层级三种语言两种程序

冯.若依曼计算机

现代计算机的核心是存储器(最大区别)
里面存的是二进制数据,是以同等地位存储并且顺序执行的
技术指标
机器字长:CPU一次能处理数据的二进制位数(运算速度和报价)
存储容量:存放二进制信息的总位数
主存容量=MAR(存储单元数)*MDR(存储字长)
辅存容量
运算速度(普森)
吞吐量和响应时间
主频和CPU时钟周期
CPI:执行一条指令所需的时钟周期数
CPU执行时间
MIPS:每秒执行多少百万条指令
MFLOPS:每秒执行多少百万次浮点运算
GFLOPS :每秒执行多少十亿次浮点运算
TFLOPS :每秒执行多少万亿次浮点运算
我们是第四代计算机,基于器件划分
第一台计算机的出现在1946年。
计算机的运算

存放位置:寄存器 寄存器的位数代表数的表示范围
有符号数vs无符号数:是否存在正负号
真值:带有正负号的数
机器数:符号数字号的数,通常表示为补码
原码反码补码移码
原码表示法(符号(0:正,1:负)+分隔符(整数:逗号,小数:小数点)+数字部分发绝对值)
反码表示法
正数:原码一致
负数:原码表示结果除符号位外,按位取反
补码表示法
正数:原码一致
负数:反码+1
x=0时,原码和反码都有两种,补码只有一种
[x]补vs[-x]补:连同符号位在内,每位取反,末尾+1.
移码表示法:补码更改符号位
机器字长为8位时:
原码[-127,+127]:0有正负两个状态
反码[-127,+127]:0有两个状态
补码[-128,+127]:没有-0
IEEE 754 单精度(32位)浮点数格式:
1 位符号位
8 位指数位(偏置 127)
23 位尾数位(隐含前导 1,即实际尾数 24 位,精度有限)
运算方法与运算器
定点表示和浮点表示
N=S*r(j)[阶符+阶码+数符+尾数]
逻辑移位:
逻辑左移,低位补0
逻辑右移,高位补0
算数移位

定点运算-加减运算(补码)
符号位和数值位等同处理
符号位产生的进位丢弃
溢出判断
一位符号位:
符号不同的加法不会溢出;符号相同的减法不会溢出
实际操作的两个数符号相同,但是结果位与之不同,则溢出
两位 符号位范围
结果的两位符号位不同的话则溢出
高位符号位永远代表正确的符号位
补码乘法溢出判断方法:用真值乘积是否超出 8 位补码范围 [−128,127][−128,127]。
定点运算-乘法运算(移位+加法)
原码一位乘:
符号位由原始符号异或得到
数值部分两数绝对值相乘、
补码一位乘(Booth算法)
移码填补规则看高位:1为高位补1
两位相同右移一位,两位不同加了再移
0在前加[x]补,1在前加[-x]补
补码两位乘:
三位相同右移,三位不同加后右移
首位是0,一个1加[x]补,两个1加2[x]补
首位是1,一个0加[-x]补,两个0加2[-x]补
定点运算-除法运算
原码除法:
符号位单独异或运算
第一步恒为加上[-y*]补
恢复余数法
余数为负,商0,加上[y*]补
余数为正,商1,左移一位,加上[-y*]补
加减交替法
余数为负,商0,左移一位,加上[y*]补
余数为正,商1,左移一位,加上[-y*]补
补码除法:
第一步根据x,y是同号,判断加(同号加[-y]补,异号加[y]补)
加法结果与[y]补同号,商1,左移加[-y]补
加法结果与[y]补异号,商0,左移加[y]补
末位商恒置1

浮点运算-加减运算(补码)
浮点运算-乘除运算
乘积的阶码是两数的阶码之和
乘积的尾数是两数的尾数之后,补码乘法
浮点运算-除法运算

存储系统
存储器的层次结构


主存储器一般采用DRAM存储器,CHCHE采用SRAM存储器
RAM是易失型存储器,断电不保存

三级存储:Cache(缓存)->主存->缓存
速度越快,容量越小,价格越高
主存储器
存储容量:MDR*MAR
存储速度
存取时间/访问时间,(读出加写入时间)
存取周期:存储器进行连续两次独立的存储器操作所需的最小时间间隔
存储器带宽:单位时间内存储器存取的信息量




缓存





辅存




指令系统
指令格式




寻址方式






CISC和RISC



中央处理器
CPU的基本功能和组成



指令周期


指令流水






