(一)数制与编码
1.进位计数制及其相互转换
2.数据编码:机器数及其编码,BCD码,字符编码
(二)数据表示
1.数值数据的定点表示:无符号数表示和有符号数表示
无符号数用源码表示,有符号数用补码表示。
2.数值数据的浮点表示,浮点表示方法,IEEE754标准
单精度浮点数32位,分为三部分:
最高位表示符号,1为负,0位正;中间八位用来表示次数,其值为次数+127,(也可理解为次数的移码-1);最后的23位为尾数部分,尾数部分的值为数值省略小数点之前的一位1剩下的部分。
双精度浮点数64位与之同理。64 = 1 + 11 + 52
3.非数值数据的表示:字符与字符串的表示
字符用ASCII码表示,字符串看成一系列的字符。
(三)定点数的运算
位移运算,位扩展运算,补码加/减运算,原码一位乘法运算,补码一位乘法运算,溢出概念和判别方法。
原码乘法:需要ALU、被乘数寄存器32位、乘数寄存器32位、乘积寄存器32位、控制单元,乘积寄存器(乘积寄存器将右移出的数字置于乘数寄存器的最高位)和乘数寄存器每次右移一位,控制单元根据该乘数寄存器右移出的数字,向ALU发出控制信号,控制乘积寄存器运算是加0还是加被乘数,直到乘数全部移出,此时运算结果全部移动到了乘数寄存器。
移码乘法:硬件与原码乘法相同,控制单元每次根据乘数寄存器的最低两位,向ALU发出信号,控制乘积寄存器每次加的是【x】补,还是【-x】补,还是0 。每次运算完,乘积寄存器和乘数寄存器也都要右移一位。
溢出:出现正+正=负,负+负=正,正-负=负,负-正=正,时均说明出现了溢出。
判断方法:1.根据符号位,如 正 + 正 结果符号位为负
2.根据符号位的进位和最高数位的进位,若进位相同,则没有溢出,否则溢出。
(四)浮点数的运算
浮点数加法和减法过程
对阶,尾数相减,规格化,舍入,判断是否溢出。
(五)算数逻辑单元
1.串行进位加法器和并行进位加法器
串行进位加法器是将单个全加器串联在一起,有多少位就有多少个全加器,每个全加器的输入有三个值,Ai,Bi和Ci-1。
并行进位加法器采取了一个巧妙的思想:若A,B均为1则必产生进位;若有一个为1,则本位之前的进位信号就会传递到本位之后。因此,实际上每一位进位与否早在得到C0时就已经确定。
并行进位加法器分为两种:
1.组内并行,组间类似于串行进位加法器进行串行。(称为单级先行进位)
2.组内并行,组间再次采用并行进位思想进行并行。(称为多级先行进位)
2.算数逻辑单元ALU的结构和功能
ALU的核心是带标志加法器,可以实现逻辑运算、算术运算、移位运算。