字長檢視原始碼討論檢視歷史
字長是全國科學技術名詞審定委員會審定、公布的科技類名詞術語。
中國,從來就是一個文化底蘊極度豐富的國家,中國的文字,更是凝聚着中國的文化精魂[1]。中國最早出現的和文字相關的文化記憶就是倉頡造字,小小的文字中蘊藏了無限的文化[2],然後就出現了最初的甲骨文。
名詞解釋
計算機採用二進制編碼方式表示數、字符、指令和其它控制信息。計算機在存儲、傳送或操作時,作為一個單元的一組二進制碼稱為字,一個字中的二進制位的位數稱為字長。
通常稱處理字長為8位數據的CPU叫8位CPU,32位CPU就是在同一時間內處理字長為32位的二進制數據。二進制的每一個0或1是組成二進制的最小單位,稱為位(bit)。常用的字長為8位、16位、32位和64位。字長為8位的編碼稱為字節,是計算機中的基本編碼單位。
字長與計算機的功能和用途有很大的關係,是計算機的一個重要技術指標。字長直接反映了一台計算機的計算精度,為適應不同的要求及協調運算精度和硬件造價間的關係,大多數計算機均支持變字長運算,即機內可實現半字長、全字長(或單字長)和雙倍字長運算。在其他指標相同時,字長越大計算機的處理數據的速度就越快。早期的微機字長一般是8位和16位,386以及更高的處理器大多是32位。市面上的計算機的處理器大部分已達到64位。字長由微處理器對外數據通路的數據總線條數決定。
通俗含義
字長是CPU的主要技術指標之一,指的是CPU一次能並行處理的二進制位數,字長總是8的整數倍,通常PC機的字長為16位(早期),32位,64位。
PC機可以通過編程的方法來處理任意大小的數字,但數字越大,PC機就要花越長的時間來計算。PC機在一次操作中能處理的最大數字是由PC機的字長確定的。
我們先來看一下人腦是如何進行計算的,例如5×6則立即可以得到答案是30,但對於55×66,就不可能立即得到正確的答案,這就是說55或66已走出了人腦的「字長」,這是為了得出結果,就必須把複雜的問題(如55×66)分解成易於處理的問題(如55×66可分解為50×60,50×6,5×60,5×6),然後再綜合起來,得出結果。
同樣PC機也是這樣處理問題的,一台16位字長的PC機,可以直接處理2的16次方(65536)之內的數字,對於超過65536的數字就需要分解的方法來處理。32位pc機比16位機優越的原因就在於它在一次操作中能處理的數字大,32位字長的PC機能直接處理的數字高達40億(2的32次方),能處理的的數字越大,則操作的次數就越少,從而系統的效率也就越高。
CPU大多是64位的,但大多都以32位字長運行,都沒能展示它的字長的優越性,因為它必須與64位軟件(如64位的操作系統等)相輔相成,也就是說,字長受軟件系統的制約,例如,在32位軟件系統中64位字長的CPU只能當32位用。
固定字長與可變字長
每一個儲存位置都可以由其地址找到。但是每一儲存位置的長度( length)尚未指定。
在某些計算機中,每一儲存位置是由固定的位數所組成的。每當計算機涉及到某一個儲存位置時,即表示它要引用此一固定長度的位置,亦稱為一個「字」 ( word ) 。像此種型態的組織,我們稱之為固定字長( fixed word length)或可定址字( word-address-able)。例如典型的迷你計算機,一個字長為16個位。
另一些計算機,它的每個地址所引用是一個位元組或一個字。這種計算機,我們稱之為可定址字( character-ddressable )或可定址位元組( byte-addresable )。右圖所示即為此種儲存體,因為這10個位元組的每一個位元組,皆可個別設定一個位址。
至於可定址字元的計算機,經常被稱為可變字長( variable word length )的機器。
我們之所以稱之「可變字長」 ,乃是因為只要利用一個計算機已有的指令(如" add"或"move " ),它就可以去處理字數目為可變的字。但對固定字長的計算機而言,它所處理的字數目是由指合本身所指定的。
右圖所示為固定字長與可變字長儲存體組織的比較。每字可存4個字元的固定字長組織。注意此種組織中,雖然是每4個字元形成一組,且可賦予一個地址,但是每個個別的字元卻不能賦予位址。可定址字元或可變字長的組織中,計算機可將其中每一個字賦予一個位址。
在圖b中,假設要取出其中前5個字(即字母SANTA)時,需要分別引用5個位址。但實際上,並不需要如此。因為有一種可變字長指令,可讓你一次就取出一組的字。在指令中,你只要第一個字元的位址,然後再指定一共要取出幾個字元即可。
例如,在圖b ,一個讀取字母SANTA的指令,只要指定第一個字元的位址( 001 )及所要讀取的字數(5) ,則此5個字元即可被讀出。
可變字長組織其主要優點為儲存體的使用效率高;即,只需使用與字數一樣的位置即可儲存該組字(註:如果想儲存SANTA這一組字,只需使用5個位置即可)。然而,固定字長的組織可能會有浪費內存空間的現象。
雙倍字長
雙倍字長是指計算機內部參與運算的數的位數。它決定着計算機內部寄存器、ALU和數據總線的位數,直接影響着機器的硬件規模和造價。雙倍字長直接反映了一台計算機的計算精度,為適應不同的要求及協調運算精度和硬件造價間的關係,大多數計算機均支持變字長運算,即機內可實現半字長、全字長(或單字長)和雙倍字長運算。
微型機的字長通常為4位、8位、16位和32位,64位字長的高性能微型計算機也已推出。
雙倍字長對計算機計算精度的影響:
4位字長:2^4=16;16位字長:2^16=65536=64K
32位字長:2^32=4,294,967,296=4G;64位字長:2^64≈1.8445×10^19
數據總線DB用於傳送數據信息。數據總線是雙向三態形式的總線,即他既可以把CPU的數據傳送到存儲器或I/O接口等其它部件,也可以將其它部件的數據傳送到CPU。數據總線的位數是微型計算機的一個重要指標,通常與微處理的字長相一致。例如Intel8086微處理器字長16位,其數據總線寬度也是16位。需要指出的是,數據的含義是廣義的,它可以是真正的數據,也可以指令代碼或狀態信息,有時甚至是一個控制信息,因此,在實際工作中,數據總線上傳送的並不一定僅僅是真正意義上的數據。
地址總線AB是專門用來傳送地址的,由於地址只能從CPU傳向外部存儲器或I/O端口,所以地址總線總是單向三態的,這與數據總線不同。地址總線的位數決定了CPU可直接尋址的內存空間大小,比如8位微機的地址總線為16位,則其最大可尋址空間為2^16=64KB,16位微型機的地址總線為20位,其可尋址空間為2^20=1MB。一般來說,若地址總線為n位,則可尋址空間為2^(n-10)千字節。
控制總線CB用來傳送控制信號和時序信號。控制信號中,有的是微處理器送往存儲器和I/O接口電路的,如讀/寫信號,片選信號、中斷響應信號等;也有是其它部件反饋給CPU的,比如:中斷申請信號、復位信號、總線請求信號、限備就緒信號等。因此,控制總線的傳送方向由具體控制信號而定,一般是雙向的,控制總線的位數要根據系統的實際控制需要而定。實際上控制總線的具體情況主要取決於CPU。
參考文獻
- ↑ 中國漢字魅力無窮,搜狐,2022-11-20
- ↑ 詩酒趁年華 | 品中國文字 悟千年精魂,搜狐,2019-12-13