看《深入理解计算机系统》有这样的话:
总线
贯穿整个系统的是一组电子管道,称做总线,它携带信息字节并负责在各个部件间传递。通常总线被设计成传送定长的字节块,也就是字(word)。字中的字节数(即字长)是一个基本的系统参数,各个系统中也不尽相同。比如:intel pentium系统的字长为4字节,而服务器类的系统,如:intel itaniums和高端的sun公司的sparcs的字长为8字节。用于汽车和工业中的嵌入式控制器之类小的系统的字长往往只有1或2字节。
从这里面想到东西:
1>. 原来有人问计算机最小处理单元是什么?
一个bit or 一个bytes。有人说是1bit。从上面说的来看应该可以这么说,计算机在数据传输上最小单位为一个字,但一个字的大小要根据不同的系统来说,有4bytes, 8bytes等等其他的情况。
2>. 在c语言中我们还记得这样的定义:
struct
{
uint16_t t1;
uint32_t t2;
} test_st;
在linux gcc intel x86机器下编译时sizeof(test_st),应该为8的。现在理解总线看这个问题就比较好解释了。t1变量字内存中会占用4bytes的。有2bytes就是浪费了,但那样做可以提高处理速度的哦。所以我们平时自己定义struct中的数据时要注意为机器的字长整数倍哦。在提高性能这个问题上很重要的。
阅读(1904) | 评论(0) | 转发(0) |