在計算機領域,對於某種特定的計算機設計而言,字(word)是用於表示其自然的數據單位的術語,是用來表示一次性處理事務的一個固定長度的位(bit)的位數。一個字的位數,即字長,是計算機系統結構中的一個重要特性。字長在計算機結構和操作的多個方面均有體現。計算機中大多數暫存器的大小是一個字長。計算機處理的典型數值也可能是以字長為單位。CPU和記憶體之間的數據傳送單位也通常是一個字長。還有而記憶體中用於指明一個存儲位置的地址也經常是以字長為單位的。現代計算機的字長通常為16、32、64位。其他曾經使用過的字長有:8、9、12、18、24、36、39、40、48、60位;slab是早期的另一個字長實例。
基本介紹
- 中文名:字長
- 外文名:word size
- 解釋:同一時間處理二進制數位數
- 地位:是CPU的主要技術指標之一
- 補充:計算機處理器絕大部分已達到64位
- 學科:計算機科學
概念
通俗含義
字的使用
- 整數–計算機處理的整數值通常可以有若干種不同的長度,但是其中總有一種正好是該構架的字長。如果有的話,其他的整數長度很可能是字長的倍數或分數。小尺寸的整數尺寸通常是為了提高存儲效率;當它被載入處理器時,它經常被轉換成字長尺寸的形式。
- 浮點數–計算機處理的浮點數通常是一個字長或字長的倍數。
- 地址–計算機處理的存儲器地址必須有足夠的尺寸,以便可以表示需要的數值範圍,但是又不能過大。經常使用的尺寸是字,不過也可以是字的倍數或分數。
- 暫存器–處理器暫存器根據它要處理的數據類型被設計成適當的尺寸,例如:整數、浮點數、地址。許多計算機構架使用通用”暫存器,它們可以存儲任何類型的數據,可以允許存儲哪怕是最大的數據類型。它們的尺寸通常是其構架的字長。
- 編址單位–在一個給定的構架中,連續的地址值對應連續的存儲器單位;該單位就是編址單位。在大部分計算機中,這個單位或者是一個字元(例如:位元組)或者是一個字(少部分計算機也使用位(bit)編址單位)。如果單位是字,那么用指定長度的地址就可以訪問較大數量的存儲空間。另一方面,如果單位是位元組,那么就可以訪問單個的字元(i.e. selected during the memory operation)。
- 指令–機器指令通常是字長的分數或倍數。因為指令和數據經常共享同一個存儲子系統,所以自然作出這樣的選擇。而在哈佛架構(Harvard architecture)中,指令和數據的長度並不需要有關聯。
有關術語
字長的選擇
各種字長的架構
字和位元組編址
2的冪
字長家族
字長表
年份 | 計算機 架構 | 字長 | 整數 長度 | 浮點數 長度 | 長度 指令 | 編址單位 | 字元 長度 |
---|---|---|---|---|---|---|---|
1941 | Zuse Z3 | 22 b | – | w | 8 b | w | – |
1942 | 50 b | w | – | – | – | – | |
1944 | Harvard Mark I | 23 d | w | – | 24 b | – | – |
1946 (1948) {1953} | 10 d | w, 2w (w) {w} | – | – (2d, 4d, 6d, 8d) | – – {w} | – | |
1951 | 12 d | w | – | ½w | w | 1 d | |
1952 | IAS machine | 40 b | w | – | ½w | w | 5 b |
1952 | 36 b | ½w,w | – | ½w | ½w,w | 6 b | |
1952 | UNIVAC 60 | nd | 1d, ... 10d | – | – | – | 2d, 3d |
1953 | IBM 702 | nd | 0d, ... 511d | – | 5d | d | 1 d |
1953 | UNIVAC 120 | nd | 1d, ... 10d | – | – | – | 2d, 3d |
1954 (1955) | IBM 650 (w/IBM 653) | 10 d | w | – (w) | w | w | 2 d |
1954 | IBM 704 | 36 b | w | w | w | w | 6 b |
1954 | IBM 705 | nd | 0d, ... 255d | – | 5d | d | 1 d |
1954 | IBM NORC | 16 d | w | w, 2w | w | w | – |
1956 | IBM 305 | nd | 1d, ... 100d | – | 10d | d | 1 d |
1958 | UNIVAC II | 12 d | w | – | ½w | w | 1 d |
1958 | 32 b | ½w | – | w | w | 6 b | |
1958 | Autonetics Recomp II | 40 b | w, 79 b, 8d, 15d | 2w | ½w | ½w,w | 5 b |
1959 | IBM 1401 | nd | 1d, ... | – | d, 2d, 4d, 5d, 7d, 8d | d | 1 d |
1959 (TBD) | IBM 1620 | nd | 2d, ... | – (4d, ... 102d) | 12d | d | 2 d |
1960 | LARC | 12 d | w, 2w | w, 2w | w | w | 2 d |
1960 | IBM 1410 | nd | 1d, ... | – | d, 2d, 6d, 7d, 11d, 12d | d | 1 d |
1960 | IBM 7070 | 10 d | w | w | w | w,d | 2 d |
1960 | 18 b | w | – | w | w | 6 b | |
1961 | IBM 7030 (Stretch) | 64 b | 1b, ... 64b, 1d, ... 16d | w | ½w,w | b, ½w,w | 1 b, ... 8 b |
1961 | IBM 7080 | nd | 0d, ... 255d | – | 5d | d | 1 d |
1962 | UNIVAC III | 25 b, 6 d | w, 2w, 3w, 4w | – | w | w | 6 b |
1962 | UNIVAC 1107 | 36 b | /6w, ⅓w, ½w,w | w | w | w | 6 b |
1962 | IBM 7010 | nd | 1d, ... | – | d, 2d, 6d, 7d, 11d, 12d | d | 1 d |
1962 | IBM 7094 | 36 b | w | w, 2w | w | w | 6 b |
1963 | Gemini Guidance Computer | 39 b | 26 b | – | 13 b | 13 b, 26 b | – |
1963 (1966) | Apollo Guidance Computer | 15 b | w | – | w, 2w | w | – |
1964 | CDC 6600 | 60 b | w | w | ¼w, ½w | w | 6 b |
1965 | IBM 360 | 32 b | ½w,w, 1d, ... 16d | w, 2w | ½w,w, 1½w | 8 b | 8 b |
1965 | UNIVAC 1108 | 36 b | /6w, ¼w, ⅓w, ½w,w, 2w | w, 2w | w | w | 6 b, 9 b |
1965 | PDP-8 | 12 b | w | – | w | w | 8 b |
1970 | 16 b | w | 2w, 4w | w, 2w, 3w | 8 b | 8 b | |
1971 | 4 b | w,d | – | 2w, 4w | w | – | |
1972 | 8 b | w, 2d | – | w, 2w, 3w | w | 8 b | |
1972 | Calcomp 900 | 9 b | w | – | w, 2w | w | 8 b |
1974 | 8 b | w, 2w, 2d | – | w, 2w, 3w | w | 8 b | |
1975 | Cray-1 | 64 b | 24 b,w | w | ¼w, ½w | w | 8 b |
1975 | Motorola 6800 | 8 b | w, 2d | – | w, 2w, 3w | w | 8 b |
1975 | MOS Tech. 6501 MOS Tech. 6502 | 8 b | w, 2d | – | w, 2w, 3w | w | 8 b |
1976 | Zilog Z80 | 8 b | w, 2w, 2d | – | w, 2w, 3w, 4w, 5w | w | 8 b |
1978 (1980) | Intel 8086 (w/Intel 8087) | 16 b | ½w,w, 2d (w, 2w, 4w) | – (2w, 4w, 5w, 17d) | ½w,w, ... 7w | 8 b | 8 b |
1978 | VAX-11/780 | 32 b | ¼w, ½w,w, 1d, ... 31d, 1b, ... 32b | w, 2w | ¼w, ... 14¼w | 8 b | 8 b |
1979 | Motorola 68000 | 32 b | ¼w, ½w,w, 2d | – | ½w,w, ... 7½w | 8 b | 8 b |
1982 (1983) | Motorola 68020 (w/Motorola 68881) | 32 b | ¼w, ½w,w, 2d | – (w, 2w, 2½w) | ½w,w, ... 7½w | 8 b | 8 b |
1985 | ARM1 | 32 b | w | – | w | 8 b | 8 b |
1985 | 32 b | ¼w, ½w,w | w, 2w | w | 8 b | 8 b | |
1989 | 16 b | ½w,w, 2d w, 2w, 4w | 2w, 4w, 5w, 17d | ½w,w, ... 7w | 8 b | 8 b | |
1989 | Motorola 68040 | 32 b | ¼w, ½w,w, 2d | w, 2w, 2½w | ½w,w, ... 7½w | 8 b | 8 b |
1991 | 32 b | ¼w, ½w,w | w, 2w | w | 8 b | 8 b | |
2000 | 64 b | 8 b, ¼w, ½w,w | ½w,w | 41 b | 8 b | 8 b | |
2002 | 32 b | w | w, 2w | ½w,w | 8 b | 8 b |