在電腦領域，對於某種特定的計算機設計而言，字是用於表示其自然的資料單位的術語。在這個特定電腦中，字組是其用來一次性處理事務的一個固定長度的 zhcn 位；zhtw 位元（bit）組。一個字組的位數（即字長）是電腦系統結構中的一個重要特性。 字組長度在計算機結構和操作的多個方面均有體現。電腦中大多數暫存器的大小是一個字長。電腦處理的典型數值也可能是以字長為單位。CPU 和記憶體之間的資料傳送單位也通常是一個字長。還有在記憶體中用於指明一個儲存位置的地址也經常是以字長為單位的。 現代電腦的字長通常為 16、32、64zhcn 位；zhtw 位元。其他曾經使用過的字長有：8、9、12、18、24、36、39、40、48、60zhcn 位；zhtw 位元；slab 是早期的另一個字長例項。某些最早期的電腦是十進位制的而不是二進位制的，通常擁有 10 位或者 12 位的十進位制數字作為字長，還有一些早期的電腦根本就沒有固定字長。 有時候字長被定義為某個特定值是為了與早期的電腦保持相容。現在個人電腦中最通用的微處理器（例如：Intel 的 Pentium 系列和 AMD 的 Athlon 系列）就是一個例子。它們中的 IA32 構架是早期的具有 16 位字長的 Intel 8086 構架的擴充套件。而 IA32 處理器仍然支援 8086（x86）程式程式所以在 IA32 中，zhcnzhhant「 欄位 zhcnzhhant」 的含義仍然為 16 位，儘管事實上它執行起來（特別是當預設運算元為 32 位時）更像一臺 32 位電腦。類似地，在更新型的 x8664 構架中，zhcnzhhant「 字組 zhcnzhhant」 仍然是 16 位的，雖然 64 位運算元更為常見。 字的使用 根據計算機的組織情況，字長單位可能被應用到： 整數計算機處理的整數值通常可以有若干種不同的長度，但是其中總有一種正好是該構架的字長。如果有的話，其他的整數長度很可能是字長的倍數或分數。小尺寸的整數尺寸通常是為了提高儲存效率；當它被載入處理器時，它經常被轉換成字長尺寸的形式。 浮點數計算機處理的浮點數通常是一個字長或字長的倍數。 地址計算機處理的儲存器地址必須有足夠的尺寸，以便可以表示需要的數值範圍，但是又不能過大。經常使用的尺寸是字，不過也可以是字的倍數或分數。 暫存器 處理器暫存器根據它要處理的資料型別被設計成適當的尺寸，例如：整數、浮點數、地址。許多計算機構架使用 通用 暫存器，它們可以儲存任何型別的資料，可以允許儲存哪怕是最大的資料型別。它們的尺寸通常是其構架的字長。 儲存器－處理器傳送當處理器從儲存器子系統讀取資料至暫存器，或者，寫暫存器資料到儲存器，傳送的資料通常是字。在簡單的儲存系統中，字在資料匯流排上傳送，它一般為一個字或半個字。在使用快取的儲存系統，在處理器和一級快取之間傳送的是一個字長，而在更低階的儲存層次上傳送的可能是更大的尺寸（這尺寸是字的倍數）。 編址單位在一個給定的構架中，連續的地址值對應連續的儲存器單位；該單位就是編址單位。在大部分計算機中，這個單位或者是一個字元（例如：位元組）或者是一個字（少部分計算機也使用位（bit）編址單位）。如果單位是字，那麼用指定長度的地址就可以訪問較大數量的儲存空間。另一方面，如果單位是位元組，那麼就可以訪問單個的字元（ie selected during the memory operation）。 指令 機器指令通常是字長的分數或倍數。因為指令和資料經常共享同一個儲存子系統，所以自然作出這樣的選擇。而在哈佛架構（Harvard architecture）中，指令和資料的長度並不需要有關聯。 字長的選擇 在設計計算機時，字長的選擇是非常重要的。設計上的考慮傾向於為特定的用途（如地址）設定特定的位長。然而，出於經濟的考慮，又應該僅使用一種尺寸，或者很少的幾種與基本尺寸成倍數或分數（約數）關係的尺寸。這個首選的基本尺寸就成為該構架的字長。 字元的尺寸對於字長的選擇也有影響。20 世紀 60 年代中期以前，字元大部分以 6 位儲存；這樣最多允許 64 個字元，因此不能有大寫字母。由於將字長定義成字元尺寸的倍數在處理時間和儲存空間上都比較划算，所以這個時期字長也就被定義為 6 位（在二進位制機器上）的倍數。通常的選擇是 36 位字長，這也是適合於浮點數格式的一個長度。 隨著 IBM360 系統的引入 該系統使用 8 位字元，並支援大小寫字母 標準的字元（確切地說：位元組）尺寸也轉變成為 8 位。從那以後，字長也自然變成了 8 的倍數，16、32、64 位字長被廣泛使用。 各種字長的架構 早期的計算機設計中包括可變字長設計。在這類設計中，數字運算元沒有固定的長度，它們透過檢查某個特殊字元來判斷是否結束。這樣的機器使用 BCD 編碼表示數字，例如 IBM 702、IBM 705、IBM 7080、IBM 7010、UNIVAC 1050、IBM 1401 和 IBM 1620。 大部分這樣的機器一次處理一個儲存單元，因為每條指令和資料佔用的數個單元，所以指令將使用數個週期來讀取儲存器。這類機器經常因為這個原因變得非常慢。例如，在 IBM 1620 Model I 上，取指令需要 8 個週期，只是為了讀取 12 個數字（Model II 降低到 6 個週期，不過如果指令不需要取其中的一個 1 個地址域的話，可以只需要 4 個週期；如果兩個都不需要，則只需要 1 個週期） 字和位元組編址 字長對計算機構架的儲存器模式有很大的影響。特別是：通常選擇字作為儲存器的編址方案，所謂儲存器編址方案就是地址碼能夠指定的最小儲存單位。In this approach，編號相鄰的記憶體字組，其位址編號相差一。在計算機中這樣很自然，因為它通常總是要處理以字為單位的資料（或者是以字的倍數）。並且具有讓指令可以使用最小的長度來指定一個地址的優點，這樣，就可以減少指令長度或者可以定義更多的指令條數。 當計算機很大的工作量是用來處理位元組時，通常定義位元組作為地址編址單位要比字更好。這樣做字串中的單個字元可以透過地址直接指定。當然，一個字仍然可以被地址訪問，但是比起字編址方案，它的地址將使用更多的位數。在這種組織結構中，字長需要被定義為字元長度的整數倍。這種編址方案在 IBM 360 中被使用，此後即變成計算機設計中最普遍的方案。 2 的冪 資料常常要佔用不同大小的儲存空間，例如，有些數值比其他的數值要求有更高的精度。通常使用的長度是編址單位（以字為單位編址或以位元組為單位編址）的倍數，這個倍數常常是的 2 的冪。這樣做是比較便利的，因為這樣的話，將一個處理物件在陣列中的索引值轉化為這個處理物件的地址只需要進行一個移位操作（這在硬體上只需要進行佈線的變化）而不需要進行乘操作。某些時候這樣的做法還可以避免除操作。因此，一些現代計算機設計使用的字長（或者其他的運算元）是 2 的冪乘以位元組尺寸。 字長家族 隨著計算機設計日益複雜，一個單一字長的核心作用在計算機架構中已經不那麼重要。雖然硬體有能力支援更寬的資料型別，但是在擴充套件處理器效能時，市場卻有強大的壓力要求新產品保持向後相容。因此，在一個新構架的向後相容的設計中，核心的字長不得不與原始機型的字長共存。原始的字長在未來設計中保持可用，這就構成了字長家族的基礎。 這種情形的一個主要的例項是 x86 系列的設計。原始的 8086 構架無疑是使用 16 位字長的。80386 在 8086 的基礎上進行了大幅改進，使其基於 32 位系統構架。如果不用考慮其他因素，它將是 32 位的，但是作為 8086 的擴充套件，它的字長繼續被當作 16 位的。（也因此，有人說 80386 和它的後繼處理器是 32 位 的（32bit），但不是 32 位字的（32bit word），原文：As a result of this one hears of the 80386 and successor processors as being 32bit but usually not as having a 32bit word 譯者）同樣的情形最近又發生了，當 AMD64 構架使 64 位在系統構架具有主要地位，但是它仍然沒有放棄對 16 位和 32 位的支援。 因此，今天我們看到的計算機體系結構更多的是基於一個有聯絡的、類似的字長家族，而不是一個單一的字長體系結構。這些尺寸以整因子（integral factors） 通常是 2 的冪 互相關聯。直接將它們中的任何一個尺寸定義為該系統的字長是武斷的，因為這些尺寸的設計可能是因為這一系列體系構架的發展的歷史原因，而不是體系自己的最新設計中的特性。 Dword 和 Qword 在計算機科學中，dword（雙倍字）是一種資料單位，它是字的二倍或者說是 qword 的一半。在具有 16 位字長的 x86 平臺上，dword 資料單位具有 32 位長度。 qword（四倍字）是一種大小是字長的四倍的資料單位。在通用的 x86 平臺上，該單位的資料具有 64 位，因為 x86 系統的字定義為 16 位（不論實際的機器上工作在那個基本位長上的） 另外，Intel 使用術語 double quadruple word，或者 DQWord（雙四倍字）來指定 128 位資料，這在 SSE 和它的更原始版本中可以看到。 字長表 年份 計算機架構 字長 整數長度 浮點數長度 指令長度 編址單位 字元長度 1941 Zuse Z3 22 b w 8 b w 1942 ABC 50 b w 1944 Harvard Mark I 23 d w 24 b 1946（1948）1953 ENIAC（wPanel 16）w 10 d w 2w（w）w （2d 4d 6d 8d） w 1951 UNIVAC I 12 d w ½w w 1 d 1952 IAS machine 40 b w ½w w 5 b 1952 IBM 701 36 b ½w w ½w ½w w 6 b 1952 UNIVAC 60 n d 1d 10d 2d 3d 1953 IBM 702 n d 0d 511d 5d d 1 d 1953 UNIVAC 120 n d 1d 10d 2d 3d 1954（1955） IBM 650（wIBM 653） 10 d w （w） w w 2 d 1954 IBM 704 36 b w w w w 6 b 1954 IBM 705 n d 0d 255d 5d d 1 d 1954 IBM NORC 16 d w w 2w w w 1956 IBM 305 n d 1d 100d 10d d 1 d 1958 UNIVAC II 12 d w ½w w 1 d 1958 SAGE 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 n d 1d d 2d 4d 5d 7d 8d d 1 d 1959（TBD） IBM 1620 n d 2d （4d 102d） 12d d 2 d 1960 LARC 12 d w 2w w 2w w w 2 d 1960 IBM 1410 n d 1d d 2d 6d 7d 11d 12d d 1 d 1960 IBM 7070 10 d w w w w d 2 d 1960 PDP1 18 b w w w 6 b 1961 IBM 7030（Stretch） 64 b 1b 64b1d 16d w ½w w b ½w w 1 b 8 b 1961 IBM 7080 n d 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 16w ⅓w ½w w w w w 6 b 1962 IBM 7010 n d 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 w1d 16d w 2w ½w w 1½w 8 b 8 b 1965 UNIVAC 1108 36 b 16w ¼w ⅓w ½w w 2w w 2w w w 6 b 9 b 1965 PDP8 12 b w w w 8 b 1970 PDP11 16 b w 2w 4w w 2w 3w 8 b 8 b 1971 Intel 4004 4 b w d 2w 4w w 1972 Intel 8008 8 b w 2d w 2w 3w w 8 b 1972 Calcomp 900 9 b w w 2w w 8 b 1974 Intel 8080 8 b w 2w 2d w 2w 3w w 8 b 1975 Cray1 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 6501MOS 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（wIntel 8087） 16 b ½w w 2d（w 2w 4w） （2w 4w 5w 17d） ½w w 7w 8 b 8 b 1978 VAX11780 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（wMotorola 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 MIPS 32 b ¼w ½w w w 2w w 8 b 8 b 1989 Intel 80486 16 b ½w w 2dw 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 PowerPC 32 b ¼w ½w w w 2w w 8 b 8 b 2000 IA64 64 b 8 b ¼w ½w w ½w w 41 b 8 b 8 b 2002 XScale 32 b w w 2w ½w w 8 b 8 b 說明： b 位，d 10 進位制數，w 該構架的字長，n 變數長度（variable size） 說明： b 位，d 10 進位制數，w 該構架的字長，n 變數長度（variable size） 說明： b 位，d 10 進位制數，w 該構架的字長，n 變數長度（variable size） 說明： b 位，d 10 進位制數，w 該構架的字長，n 變數長度（variable size） 說明： b 位，d 10 進位制數，w 該構架的字長，n 變數長度（variable size） 說明： b 位，d 10 進位制數，w 該構架的字長，n 變數長度（variable size） 說明： b 位，d 10 進位制數，w 該構架的字長，n 變數長度（variable size） 說明： b 位，d 10 進位制數，w 該構架的字長，n 變數長度（variable size） 參見 位元 位元組 32 位元 64 位元 參考資料 Gerrit A Blaauw Frederick P Brooks Computer Architecture Concepts and Evolution（AddisonWesley 1997 ISBN 0201105578） Anthony Ralston Edwin D Reilly Encyclopedia of Computer Science Third Edition（Van Nostrand Reinhold 1993 ISBN 0442276796） Category 資訊單位