关于数据总线传低于数据总线位数的数据

来源: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回答

咚咚呛

2020-08-14

是的,不管是32位还是64位,指的都是一次传输数据的比特数,但并不代表传输的比特位都是有效的,但在你的场景,也并非一定使用的是低8位,在计算机内部,字节顺序有主机序的概念,分为大端序和小端序两种情况,需要按实际CPU架构来决定,这部分可以搜索更多资料来了解下。

希望对你有所帮助。

0
1
Panda_io
好的感谢老师
2020-08-14
共1条回复

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程