|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
关于数字与电路:
假设我手上拿了一根导线(即电线),单纯的一根导线,那么这根导线有电吗?
答:肯定是没有电的,因为它没有连接电源。
那如果我们把这根导线切成三段相继接上电源+开头+灯泡,并闭合开关,那么这根导线有电吗?
答:有电且灯泡会亮,如果开关断开,则无电灯泡会灭。
那有没有一种情况,就是这根导线里即有电又无电(即同时存在有电和无电两种状态,灯泡表现为即亮又灭)?
答:不存在,这根导线每次只有一种状态,要么有电,要么无电,不可能存在即有电又无电的状态。
既然如此,假如有16根这种导线,每一根都有明确的一种状态(有电或无电),16根导线就有16种明确状态,我们把有电状态记为"1",无电状态记为"0",按序组合在一起就是16个0和1,我们把这种有电或无电的状态称为"位"("位",可以理解为1位信息,即有电信息或无电信息,一根导线每次只能表示1位信息),16根导线有16种状态就是16位信息(也可以称为16个二进制位,因为每一位不是1就是0,而二进制数是逢二进一,每一位同样不是1就是0),这就是为什么机器指令(也叫机器码)能被机器直接识别和执行的原因,因为机器有电它就工作,无电就是废铁不工作。我们发现数字和电路信息就如此完美的结合在了一起,用数字来表示电路信息(有电与无电)
关于存储单元:
我们知道计算机是以字节为单元存储数据的,为什么不用容量更小的位(1个字节占8个位)?
答:由于1位的空间太小,只能表示两个值(0或1),直接以位为单元存储数据会降低内存访问的效率(例如需要存储一个字节长度的数据,以位为单元存储需要访问8次内存,而如果以字节为单元存储则只需要访问1次即可),所以我们约定以字节作为基本单元存储数据,虽然在物理层面上存储器的最小存储单元是位,但我们在实际使用中,约定以字节作为存储单元(即便某个数据的长度不足1个字节,也依然会分配1个字节的空间来存储它),而且计算机硬件也是按字节而不是位来设计的,使用字节作为单位可以简化电路设计和信号处理,比如通用寄存器的容量也是以字节为单位,通常为8位、16位、32位或64位。
关于高位和低位:
比如一个十六进制数:AAFFH,左边的数据“AA”可以通过右边的数据“FF”累加进位获得(即右边的FF可以通过不断累加1,进位得到AA00H),所以左边的数据自然就比右边的数据的值大,位权也大,我们就把位权大的那个位称为高位,位权低的那个位称为低位,自然高位上的数据称为高位数据,低位上的数据称为低位数据,那么左边的字节“AA”就是高位字节,右边的字节“FF”就是低位字节。
关于数据传输:
如果一串二进制信息大于每次传送信息的信息量(大于总线的宽度),那么就需要分批传送,传送的顺序是先传送低位字节数据后传送高位字节数据,先传送的低位字节数据存储在低地址字节中,后传送的高位字节数据存储在高地址字节中,这是intel的约定,这也是为什么地址值所对应的字节默认为低位字节,还得向高位延申字节而不是向更低位延申的原因。 |
|