Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3902681
  • 博文数量: 534
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4800
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(534)

文章存档

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(253)

2006年(73)

分类: C/C++

2008-03-02 13:59:49

学习计算机已经好长时间了,今天看《深入理解计算机系统》时又想到了这个问题,什么是字,字长?

---------------------

  在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。
  在计算机的运算器、控制器中,通常都是以字为单位进行传送的。字出现在不问的地址其含义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。

字长
  计算机的每个字所包含的位数称为字长。根据计算机的不同,字长有固定的和可变的两种。固定字长,即字长度不论什么情况都是固定不变的;可变字长,则在一定范围内,其长度是可变的。
  计算的字长是指它一次可处理的二进创数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。
  一般地,大型计算机的字长为32―64位,小型计算机为12―32位,而微型计算机为4一16位。字长是衡量计算机性能的一个重要因素。

字节
  字节是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单位,并作为一个整体来参加操作,比字小,是构成字的单位。
  在微型计算机中,通常用多少字节来表示存储器的存储容量。

来源:http://blog.dengzhe.com/article.asp?id=112
----------------

CPU字长

  电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的CPU。同理 32位的CPU就能在单位时间内处理字长为32位的二进制数据。当前的CPU都是32位的CPU,但是字长的最佳是CPU发展的一个趋势。AMD未来将推出64位的CPU-Atlon64。未来必然是64位CPU的天下。
来源:

-------------------

《深入理解计算机系统》中的部分内容:
    每台计算机都有一个字长(word size),指明整数和指针数据的标称大小(nominal size)。因为虚拟地址是以这样的字来编码的,所以字长决定的重要的系统参数就是虚拟地址空间的大小。也就是说,对于一个字长为n位的机器而言,虚拟地址的范围为0~ 2^n - 1,程序最多访问2^n字节。
    今天大多数计算机的字长都是32位。这就限制了虚拟地址空间为4GB,也就是说,刚刚超过4*10^9字节。

------------------------------------------------
C声明           典型的32位机器   Compaq Alpha机器
------------------------------------------------
char            1               1
short int       2               2
int             4               4
long int        4               8
------------------------------------------------
char *          4               8
------------------------------------------------
float           4               4
double          8               8
------------------------------------------------

    将来写程序的时候特别要注意使程序对不同数据类型的确切大小不敏感。比如:许多程序员假设一个声明为int类型的程序对象能被用来存储一个指针。这在大多数32位的机器上工作正常,但是在一台Alpha机器上却会导致问题。
阅读(2553) | 评论(0) | 转发(0) |
0

上一篇:字长问题

下一篇:交换两个整数的问题

给主人留下些什么吧!~~