数据的表示
R进制的表示
(R可表示为二、八、十、十六)
原则:逢R进一
R进制转十进制
(按权展开)
十进制转R进制
(短除法)
十进制236转二进制:11101100
计算机中的原码、反码、补码、移码
符号位:0正;1负。
计算机中采用补码进行相应的存储的计算。
-2,-0,0
- 反码(符号位不变)
正值:反码和原码相同。
负值:反码对原码取反。
- 补码(符号位不变)
正值:反码和原码相同。
负值:反码对原码取反,然后+1。
- 移码
符号位取反的补码
一般用在浮点数的阶码
取值范围
n:二进制的位数,包括符号位。
原码 n=8
最大:0111 1111 —— 127—— 2 的 7 次方减 1—— 2 的 8 减1次方 减1
最小:1111 1111 —— -127 ——负的2 的 7 次方减 1——负的2 的 8 减1次方 减1
表示2的n次方减1 个定点整数(0的表示不唯一,+0,-0)
补码
0的表示唯一,可多表示一位,即负值的边界
(-0)1000 0000 —— 1111 1111 —— 1 1000 000
表示2的n次方个定点整数
二进制、八进制、十六进制互转
- 整数二进制转八进制
从右往左起每三位二进制转1位八进制,不足三位的在最左边添0补齐;反之八转二,则每一位八进制转换为三位二进制表示。
- 整数二进制转十六进制
从右往左起每四位二进制转1位十六进制,不足四位的在最左边添0补齐;反之十六转二,则每一位十六进制转换为四位3进制表示。
小数的转换
-
二进制转十进制(1101.1101)
-
十进制转二进制(乘2取整法)
0.125 * 2=0.25 — 0
0.25 * 2=0.5 — 0
0.5 * 2 =1 — 1
0.125 —— 0.001
逻辑运算
计算机结构
遵循冯·诺依曼体系结构,五大部分:输入、输出、运算器、控制器、存储器。
主寄存器 :存储指令和数据,供CPU来进行调用。
控制器
程序计数器PC:存放下一条指令的地址。
指令寄存器IR:存放正在运行的指令。
指令译码器:指令的操作码,产生控制信号。
时序部件:控制顺序是正确的。运算器
算术逻辑单元ALU:执行算术逻辑运算。
累加寄存器AC:暂时存在操作数或者中间结果。
数据缓冲寄存器:暂时存放从主存读取的指令和数据(在存放到指令寄存器之前)。
状态条件寄存器:存放在执行相应的算数运算中条件码的内容。
总线
包括数据总线、地址总线、控制总线。
- 数据总线
宽度:一次可以传送二进制的位数。- 地址总线
位数:寻址的空间大小- 控制总线
传输控制信号
指令系统的寻址方式
指令:一组有意义的二进制代码。
操作码:指令要完成的操作性质。
地址码:操作数在存储单元所在的一个地址。
寻址:操作数所在的地址。
寻址方式
把操作数存放到了不同的存储器,扩大寻址空间并提高编程灵活性。
- 立即寻址
- 变址寻址:地址码 + 基址
- 直接寻址
- 间接寻址
(变址寻址、直接寻址、间接寻址操作数存放在主存。)- 寄存器寻址
- 寄存器间接寻址
指令系统类型CISC与RISC
Flynn(指令流)
例题
流水线
加速比:没有采用流水线和采用了流水线所需时间的比值
存储系统
CPU的寄存器。
辅存(虚拟存储器)
主存容量指的是RAM。
自右向左:成本由低到高、速度由慢到快、容量由大到小。
随机存储器RAM:
DRAM:动态随机存储器;需要动态刷新(掉电丢失)
SRAM:静态随机存储器;不需要动态刷新(掉电丢失)
存储系统的存取方式
- 顺序存取(磁带)
按顺序依次存放在存储器中,没有位置和地址的概念,利用率蛮高,但灵活性差。 - 直接存取(硬盘)
共享读写装置,有相对位置概念。 - 随机存取(内存)
根据地址读取,在内存中唯一。 - 相联存取(Cache)
按内容(相关性)存储,为了提高Cache的命中率。
主存储器基础——组成
1B=8bit
1KB=2^10B
1M=2^10K
1G=2^10M
256、32
Cache
如果Cache的访问命中率为h,而Cache的访问周期时间是t1,主存储器的访问周期时间是t2,则整个系统的平均访问时间就应该是:
t3 = h * t1 + (1-h) * t2
Cache淘汰算法
为了提高命中率
- 先进先出算法
- 最近最少使用算法
- 随机算法