关于数据总线传低于数据总线位数的数据
来源:3-2 计算机的总线

Panda_io
2020-08-14
老师我是64位的cpu那么数据总线就是64位的,代表我可以一次传64位的数据,由于内存的基本单位是字节,也就是说一次要传8字节。
我有一个疑问就是
在java中byte这种数据类型是一个字节的
在c中malloc函数可以分配一个字节的空间
如果我64位的数据总线每次只能传64位的话,那么对于这种只需要一个字节来表示的数据类型只用的到低8位,那么就会有7个字节是浪费掉的。这种思想看待malloc申请一个字节其实也是分配8个字节出来,这显然不合理。
经过上面的思考,我猜想64位的数据总线其实也可以传单个字节的数据,单个字节的值存到寄存器里所有的高位都是0,只用低8位。
我这块有点迷惑,恳请老师指点一下
写回答
1回答
-
是的,不管是32位还是64位,指的都是一次传输数据的比特数,但并不代表传输的比特位都是有效的,但在你的场景,也并非一定使用的是低8位,在计算机内部,字节顺序有主机序的概念,分为大端序和小端序两种情况,需要按实际CPU架构来决定,这部分可以搜索更多资料来了解下。
希望对你有所帮助。
012020-08-14
相似问题
数据总线、地址总线、控制总线分别有哪些?
回答 1
关于总线仲裁的一些疑问
回答 1
关于数据总线和地址总线单位的问题
回答 1
关于数据总线和内存的问题
回答 1
源数据怎么用地址总线寻址?
回答 1