组原 无敌版
大学的遗物
从大学课程中的重新总结,来源于课程朱老师课程录屏
一、引论
计算机功能部件
计算机的基本功能:数据加工、数据保存、数据传送、操作控制。相应的有硬件的五大部件,他们组成了计算机系统的体系结构。

存储器分为主存储器(内存、外存)和辅助存储器(外存、辅存)
存储器的访问方式
- 按地址进行访问
- 按内容进行访问(相联存储器)
主存的基本组成
程序:解题步骤,控制器按照事先安排好的步骤,控制计算机各个部件有条不紊的自动工作。
程序按照指令序列的形式存放在存储器中,控制器一次读出存储器中的程序质量实施控制。这种方式叫做存储程序方式
早期冯·诺伊曼计算机以运算器为中心,现代计算机逐步转变为以存储器为中心
现代计算机结构依然遵循冯诺依曼思想。
计算机软件
基本的软件系统包含系统软件 和应用软件两大类
计算机系统的组织结构
硬件、软件在逻辑功能上是等价的。
计算机系统结构是多层次的。
计算机硬件的系统结构
现代计算机普遍采用总线结构
总线的使用规定:分时发送,同时接收。(发送部件需要分时使用总线发送信息,但是各个部件可以同时接收到总线的数据)
总线的分类
按照任务:cpu内部总线、部件内部总线、系统总线、外总线
按照信息传送方向:单向总线、双向总线
按照总线的信息传送位数:串行、并行
计算机性能指标
- 基本字长:范围和精度
- 主存容量:程序复杂性
- 运算速度
- 外部设备
- 软件配置
二、计算机中数据信息的表示
数制与数制转换
进位计数值都有两个基本因素:基值,位权值
任意进制转换为十进制:按权相加
十进制转换为任意进制:整数部分、小数部分分别进行转换,整数部分除基取余(逆序),小数部分乘基取整(顺序)
带符号数的表示
1. 机器数
机器数是连同数字一起代码化的数据,小数点本身是隐含的。
机器数分为有符号数和无符号数,指令想知道机器数是否带符号,由指令的操作码决定。
真值=符号位+绝对值
四种机器码:原码、补码、反码和移码
2.原码表示
文字定义:数值部分的形式不变,只将符号用二进制代码表示
公式定义


原码的移位规则:符号位不变,数值部分左移或者右移,移出的空位补0。左移将有效位移出会导致移除错误。
3.补码表示
目的:为了解决原码的加减运算的不方便
公式定义


从定义可以看出,相对于原码的整数表数范围变大了(所表示最小值更小了)
补码求法:对原码,符号位不变,从后面往前数到第一个1,上述不变,前面的位数全部取反。
真值和补码的映射关系图

补码的移位规则:
- 右移:符号位不变,数值位右移,高位补符号位
- 左移:连同符号位左移,低位补0,注意会溢出
补码的模
- 补码总是对于确定的模而言的。如果补码运算的结果超过了模,会自动取模
- 补码在运算过程中,模不可以改变
- 为了使得不同位数补码可以求和,需符号扩展,方法是扩充符号位
4.反码表示
公式定义:


反码求法:
- 正数不变
- 负数保存符号位不变,各个位取反
5.移码表示
移码,常用于表示浮点数的阶码。
移码求法:整数求补,符号取反
特殊的移码:移码=K+实际数值。例如,移127码=127+实际数值。
6.不同码值之间的关系图

数的定点表示和浮点表示
任何一个数都可以表示为以下形式
$$
(N)_R=\pm{S*R^{\pm{e}}}
$$
其中,R(基值),S(尾数),e(阶码)
1.定点表示
约定阶码e不变
定点小数:e=0,约定小数点在符号位和最高位之间
定点整数:e=0,约定小数点在最低有效数值位之后
定点数的分辨率:相邻两个定点数之间的最小间隔
2.浮点表示
浮点数由阶码和尾数两个部分组成。
阶码表示小数点的实际位置,阶码均采用2的基数
尾数表示数的有效数字
浮点数的规格化表示:
- 目的
- 尽可能多得保留有效数字
- 保证浮点的唯一性
- 方法
- 尽可能的去掉尾数中的前置“0”,即尽可能使二进制小数点后第一位是1,可满足1/2<=|s|<1
规格化数的定义
原码表示规格化数: s
1=1$\Leftrightarrow$规格化补码表示规格化数:s
f$\bigoplus$ s1$\Leftrightarrow$规格化
表数范围:Todo
IEEE浮点数标准
Todo
非数值型数据的表示
1.逻辑数(二进制串)
- 无符号问题,无位权问题,无进位问题
- “0”,“1”不代表大小,只代表逻辑真假
- 按位进行逻辑运算
2.汉字交换码
区位码(区码,位码,共两字节)->国标码(两字节,但只是用低7位)->机内码(机内码=国标码+8080H)
数据的长度和存储方式
位(bit),字节(Byte,B),字
字长:字中包含的二进制位数
数据的存储顺序:大端排序、小端排序
数据校验码
编码距离:一组编码中任何两个编码之间代码不同的位数称为编码距离,也称为海明距离。
码距:在一组编码中,任何两个编码之间最小的距离称为这组编码的码距。
检纠错误的位数与码距之间的关系:检错e位,需要e+1位码距;纠正t位错误,需要2t+1位码距
奇偶校验
Todo
海明校验码
Todo
扩展海明校验码
Todo
循环冗余校验码
Todo
三、运算方法与运算器
运算器的设计方法
计算机中数据加工最基本的思想:将各种复杂的运算处理分解为最基本的算数运算和逻辑运算
大量运算规则Todo
四、存储器系统
存储器概述
存储器分类
主存:cpu能直接访问的存储器
辅存:cpu不能直接访问的存储器,也叫外存
高速缓冲存储器cache:用于解决cpu与主存之间速度匹配问题的高速小型存储器,存放cpu立即要使用的或者刚使用的程序或数据

存储器的编址
编址单位;存储器中可寻址的最小单位
按字节编址:相邻两个单元是两个字节(字节,每个字节8位)
按字编址:相邻两个单元是两个字(字,机器字,包括若干字节,依据不同机器而定)
目前按照字节编址是主流,大量机器中使用整数边界对齐的方式
存储器的性能指标
- 存储容量
- 访问速度
存储器的总线带宽
带宽:单位时间内所存取的二进制信息位数
带宽的计算
带宽=每个周期访问的位数/存取周期时长
带宽=存储器总线宽度/存取周期时长
存储器系统的层次结构

半导体存储器

半导体随机存储器芯片的结构
字片式
位片式
动态存储器的刷新
按行刷新
半导体存储器的组成
计算组成存储器所需芯片的数量计算公式:
$$
芯片总片数=\frac{存储器总单元数位数/单元}{每片芯片单元数位数/单元}
$$
位扩展
含义:只进行位数扩展(增加字长)
链接方式:
- 将所有的存储器芯片的地址线、片选信号线和读写控制线并接,连到地址和控制总线对应位
- 将各芯片数据线单独列出,分别接到数据总线的对应位
字扩展
含义:仅仅是单元数(字数)扩展,位数不变
链接方式:
- 将所有的存储器芯片的地址线、数据线和读写控制线并接,连到地址、数据和控制总线对应位
- 由片选信号区分被选芯片
字位同时扩展
字和位要分别进行,注意片选信号连接方式
半导体只读存储器
并行存储器
高速缓冲存储器
cache的主要目的:速度匹配,存放主存信息的副本。
设计原理:程序的局部性原理(时间局部性和空间局部性)
设计理念:加快速度,但是对程序员透明,并且在cache中按块管理
cache的命中:欲访问主存中的数据已保存在cache中
cache命中率:$H=\frac{N_c}{N_c+N_m}$($N_c$总命中次数,$N_m$未命中然后访问主存次数)
cache其它参数:Todo
cache工作原理:

cpu访存地址:块号+块内偏移量
内容cache=数据cache+标识cache
标识cache又是包含一位有效位,用于判断脏数据
cache地址映像方式
直接映射
主存地址=区号+区域块号+块内偏移量
cache地址:块号+块内偏移量
地址转换Todo
全相联映像
任何主存可以映像到任意一个cache块。
地址转换Todo
组相联映像
主存任何一个组只能映射到cache中的某一个固定的组,但是同一个组中的主存块可以调入cache指定组中的任意块
地址转换Todo
cached 替换算法与写策略
替换算法
FIFO法(先进先出法)
LRU法(近期最少使用法)
写策略
写直达法:cpu执行写操作时,利用主存和cpu之间的直接通道,写入cache的同时也写入主存
写回法:当cpu执行写操作,只写cache不写主存,只有cache被替换,才将被修改的cache写回主存
辅助存储器
磁盘信息记录格式及其读写
相关概念
- 记录面
- 磁盘
- 扇区
- 扇段
- 柱面
硬盘地址标识:圆柱面号+盘面号+扇区号
磁盘存储的主要技术指标
- 存储容量C
- 平均存取时间=平均磁道定位时间+平均旋转等待时间+读写操作时间+控制延时时间
- 存储密度
- 位密度:沿着磁道方向单位长度所能存储的二进制位数目(一般内外圈不一致,以最内圈密度为准)
- 道密度:沿着磁道径向单位长度所包含的磁道数目
- 面密度=位密度*道密度
- 数据传输率:磁盘存储器单位时间能传送的数据量
五、指令系统
机器指令
指令字(指令代码):表示一条指令的二进制代码
一条指令应该包含的信息:
- 操作码:表示指令的操作特性和功能
- 操作码的地址:指示操作数或操作数所在的地址
- 存放操作数的地址
- 下一条指令的地址
指令字的长度:单字长或双字长
指令的地址码:地址信息在指令码中明确给出的称为“显地址”,地址也可以依据某种实现的约定,用隐含的方式给出
指令的操作码:假定指令系统由m种操作,则操作码位数n应该满足n$\geq log_{2}{m}$
变长指令早期采用扩展操作码法
寻址方式
寻址分为:指令地址的寻址和操作数地址的寻址
指令的寻址方式
顺序方式:pc=pc+增量
跳跃方式:跳转
操作数的寻址方式
Todo
- 立即寻址
- 直接寻址
- 间接寻址
- 寄存器直接寻址
- 寄存器间接寻址
- 变址寻址
- 相对寻址
- 基址寻址
指令类型及功能
Todo
六、控制系统与CPU
控制器概述
计算机运行基本过程
取指令、分析指令、执行指令
控制器的基本功能
- 控制指令的正确执行
- 控制程序和数据的输入以及结果的输出,注意,每一条指令执行完毕后,才判定是否有异常中断
