❶ 为什么计算机的一个存储单元是八位
存储单元一般应具有存储数据和读写数据的功能,以8位二进制作为一个存储单元,也就是一个字节。每个单元有一个地址,是一个整数编码,可以表示为二进制整数。程序中的变量和主存储器的存储单元相对应。变量的名字对应着存储单元的地址,变量内容对应着单元所存储的数据。存储地址一般用十六进制数表示,而每一个存储器地址中又存放着一组二进制(或十六进制)表示的数,通常称为该地址的内容。
❷ 关于地址线位数与存储单元个数的问题
1.网络上:存储单元是CPU访问存储器的基本单位。以8位二进制作为一个存储单元,也就是一个字节。---也就还说存储单元的大小是恒定不变的就是一个字节。
1.1网络上:存储字长:一个存储单元存储一串二进制代码(存储字),这串二进制代码的位数称为存储字长,存储字长可以是8位、16位、32位等。-----再结合存储单元的定义,所以存储字长是8位
1.2网络上:存储字:是指存放在一个存储单元中的二进制代码组合。
2.地址线一次确定一个存储单元,地址线上值可能取的所有组合确定了存储单元的个数。所以,存储单元的个数=2^地址线的条数。
3.存储容量是指存储器可以容纳的二进制信息量,用存储器中存储地址寄存器MAR的编址数与存储字位数的乘积表示。(存储容量=地址寄存器MAR的编址数<存储单元个数>*存储字位数(存储字长))----计算出来的是所能存储的二进制代码的总位数(不是字节)
4.最后将存储容量转换成字节:存储容量=地址寄存器MAR的编址数<存储单元个数>*存储字位数(存储字长)/8
❸ 为什么计算机的一个存储单元是八位 bit
https://www.hu.com/question/20870588
很简单,看看维基网络可以有个大概的粗浅认识。这里做一个简单概括和翻译。
Byte
in Wikipedia
再探究一下Byte的定义:能够编码一个字符的最小可寻址单元:
Historically, the byte was the number of bits used to encode a single character of text in a computer [1][2] and for this reason it is the smallest addressable unit of memory in any computer architectures.
其实以前也有过4位,6位或7位为一byte的标准,IBM 701(36位字长,18位byte)、IBM 702(7位字长,7位byte)、CDC 6600(60位字长,12位byte)等等。但是我觉得,考虑到包含的信息量不够大(所以4位被弃用了),还有不够整齐美观(即不方便扩展,不适合整齐划一进行工业生产;想象一下假如以7位为一byte,内存和硬盘的大小就不再是2^n bit大小了,而是2^(n-1)*7 bit大小了,有些别扭),所以只有8位作为最通行的标准流行开来。
8位一Byte,字长为2^n bits,这个标准来自于IBM system/360(1950年代到1960年代)。IBM也参与了ASCII码(7位128个字符)的制定(1963),但是同时开展了EBCDIC表(8位256个字符)的制定,作为自己公司的BCDIC标准的一个升级版本,其实就是想与ASCII竞争,但这个表的确很乱,而且版本也不统一,造成了很多吐槽(比如字母表居然不连续,加入了很多用不到的字符等等。)虽然这个标准非常坑爹,但是却推广了8 bit为一字节的概念通行开来。
接下来AT&T公司和8位处理器的兴起进一步推广了8位作为一个byte这一事实标准。由于ASCII码只有7位,出于表达英语字母及其他符号的必要,各个国家开始探索如何用多余的一位来表示其他的字符,这样就出现了很多“扩展ASCII字符集”,但是标准不一。IBM也推出了一个,叫做Code page 437。这个表也是MS-DOS所用的扩展ASCII码集,但是并不是最后的唯一标准。直到1985年,是
国际标准化组织
(ISO)及
国际电工委员会
(IEC)才联合制定的一系列8
位
字符集的标准,称为ISO 8859,全称ISO/IEC 8859,这才统一了混乱的标准。
说了这么多,只想表明一点:一个字节之所以有8个bit,是历史原因造成的(计算机前身是打印机),但是也是计算机原理,尤其是二进制特性的必然结果,是数据存储需要(必须要能在一个字节内表示超过100种状态,包括常用数字,大小写字母,和打印机上的其他控制符号)和早期计算机存储价格昂贵(所以没有用10个,16个或更多位),加上商业利益追求(IBM的推广)共同作用的结果。