计算机地址可以是任意长度吗?

如题所述

第1个回答  2020-12-13
学东西最好先把概念理清楚,基础不牢地动山摇嘛。

信息的最小单位是bit,中文叫比特或者二进制位,也简称为「位」;
byte「字节」是内存寻址和存取的最小单位,一般是8个比特。历史上也存在过4、6甚至7个比特的计算机,但现在的计算机都是8比特一字节。
word「字」最早是CPU与内存之间传输数据的最小单位。在16位时代,CPU与内存间的总线宽度是16位,一个字也就是16位。但随着计算机进入32位时代,一个「字」的宽度并没有因此变成32位,而是变成了dword「双字」,64位则是qword「四字」,「字」的宽度从此定格在了16位。
题主的很多概念还是没搞清楚。
「编址」是什么东西?就是我们把一系列存储单元从0开始编号,用这个编号作为读取和写入的「地址」。所谓「按字节编址」就是每个字节都有自己独立的地址,可以单独地读取和写入一个字节;而「按字编址」就是每个字(两个字节)分配一个地址,这时候读取和写入都是以字,而非字节为单位了。
为什么会有「按字编址」?因为以前CPU与内存间的总线很窄,相同的内存,按字编址的地址,比按字节编址的地址短一位,这样就访问内存就更快了。但现在总线宽度上来之后,就不需要这样做了,现在的计算机都是按字节编址了。
IO设备与端口?这个问题是怎么和上面放在一起的?就因为都有「地址」吗?我怀疑题主是看了很老的书,或者看了非常不严谨的百度百科。
硬件是有地址,但这个地址跟内存的地址没有关系。一般只有写操作系统、硬件驱动这种非常底层的软件时,才需要关心硬件地址,一般用户和软件开发者根本接触不到硬件地址,也不需要关心硬件的地址。
如果题主对计算机组成真的感兴趣,可以看看正经的教科书和科普书,少看百度百科。
第2个回答  2020-12-14
这个不可以,它就是一个固定的长度而已,不是随意
相似回答