第一章
-
计算机系统由硬件系统和软件系统共同构成。
-
冯 诺依曼计算机:计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部分组成。
早期的冯·诺依曼机以运算器为中心。现在以存储器为中心
诺依曼计算机中指令和数据均以二进制形式存放在存储器,CPU可以根据指令周期的不同阶段来区分是指令还是数据,通常在取指阶段取出的是指令,在执行阶段取出的是数据。
-
相联存储器:按照内容访问
-
主存储器的存取方式:按地址存取
-
主存储器>存储单元>存储元件>存储字>01二进制数
-
每个存储单元包含若干存储元件
-
MAR用于寻址,其位数对应存储单元的个数。MAR位数反映
存储单元的个数(最多支持多少个) -
MAR长度=PC的长度
-
MDR的位数=存储字长=每个存储单元的大小
-
易混淆:1个字节(Byte)= 8bit
1B=1个字节,1b=1个bit -
运算器的核心是ALU。运算器中包含若干通用寄存器,用于暂存操作数或者中间结果
-
通用寄存器有:累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(IX)、基址寄存器(BX)。前三个是必备
-
运算器中还有程序状态字寄存器(PSW),又称标志寄存器。
MQ:Multiple—Quotient Register quotient :指数,系数,商
ALU:Arithmetic and Logic Unit Arithmetic 算数、算数运算、算术的
ACC:Accumulator Accumulator 蓄电池
15.
-
软件分为系统软件和应用软件。
-
系统软件:操作系统、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序、数据库管理系统
-
数据库管理系统是系统软件,数据库系统是应用软件。
-
注意编译、汇编、解释程序的区别
- 层次结构
-
二进制换算
-
熟练掌握计算机的性能指标
CPU主频:1s内有多少个时钟周期。单位Hz
CPI:执行一条指令所需的时钟周期数
IPS:每秒执行多少条指令
1s=10^3 ms(毫秒)=10^6μs(微秒)
- 区别机器字长、存储字长、指令字长。书上22页
第二章
1. 大端小端存储
2.边界对齐
3.定点数的表示和运算
无符号数的扩展开:高位补0
补充:
>int 、short…这些是有符号数
定点数扩展
对于一个负数:
对原码,从右往左找到第一个1,画一条竖线,1往后的数反码和补码相同,1和1右边的数,原码和补码相同
C语言中有符号和无符号数的转换注意:C语言中的数据在内存中为补码表示形式!
判断溢出其实可以直接写出这个补码的表示范围,然后看这个结果有没有超出这个范围
溢出判断
双符号位也称模4补码
单符号位也称模2补码
s1表示本应得到的正确符号位
s2表示实际得到的符号位
正数+正数–》只可能上溢负数+负数–》只可能下溢
移位运算
算数移位,符号位不变,左移= = >乘2; 右移== >除2
整数在机器中都是以补码的形式存在
看到算数移位,最高位那一位是不参与运算的
浮点数的表示
浮点数标准 IEEE 754
- IEEE标准下,尾数中小数点前面的1可以隐含的保留,所以在规格化尾数的时候,要保证小数点前面的数字为1
- 左规-》小数点不动,数左移-》相当于小数点右移-》变大了,所以阶码减1
- 左规是不会发生溢出的,
- 右规的时候,阶码会不断的增大,所以有可能超出阶码所能表示的最大的范围,发生了上溢
- 754标准下,阶码用移码表示,尾数用原码表示
全1:-128
全0:-127
数符:表示整个数值的正负性
阶码:全0表示非规格化,全1表示无穷大
所以阶码的值可以从1-254(8位表示),转为真值-126到127
负数:所以数符位是1
float型浮点数中,阶码的位数为8,正常移码可以表示的数据范围是0–255(看做无符号数),
根据:移码=真值+偏置值,偏置值=127
真值=移码–偏置值
但是阶码全0和全1有特殊的用途,全1对应真值【-128】,全0对应真值【-127】
所以阶码真值最小是-126,最大是127
E:表示阶码
浮点数的运算