計算機的總線可以分為3種:數(shù)據(jù)總線,地址總線和控制總線。這里不對控制總線進行描述。數(shù)據(jù)總線用于進行數(shù)據(jù)信息傳送。數(shù)據(jù)總線的位數(shù)一般與CPU的字長一致。
一般而言,數(shù)據(jù)總線的位數(shù)跟當前機器int值的長度相等。例如在16位機器上,int的長度是16bit,32位機器則是32bit。這個計算機一條指令最多能夠讀取或者存取的數(shù)據(jù)長度。大于這個值,計算機將進行多次訪問。這也就是我們說的64位機器進行64位數(shù)據(jù)運算的效率比32位要高的原因,因為32位機要進行兩次取指和運行,而64位機卻只需要一次!
地址總線專門用于尋址,CPU通過該地址進行數(shù)據(jù)的訪問,然后把處于該地址處的數(shù)據(jù)通過數(shù)據(jù)總線進行傳送,傳送的長度就是數(shù)據(jù)總線的位數(shù)。地址總線的位數(shù)決定了CPU可直接尋址的內(nèi)存空間大小,比如CPU總線長32位,其最大的直接尋址空間長232KB,也就是4G。
這也就是我們常說的32位CPU最大支持的內(nèi)存上限為4G(當然,實際上支持不到這個值,因為一部分尋址空間會被映射到外部的一些IO設(shè)備和虛擬內(nèi)存上。現(xiàn)在通過一些新的技術(shù),可以使32位機支持4G以上內(nèi)存,但這個不在這里的討論范圍內(nèi))。
一般而言,計算機的地址總線和數(shù)據(jù)總線的寬度是一樣的,我們說32位的CPU,數(shù)據(jù)總線和地址總線的寬度都是32位。
計算機訪問某個數(shù)據(jù)的時候,首先要通過地址總線傳送數(shù)據(jù)存儲或者讀取的位置,然后在通過數(shù)據(jù)總線傳送需要存儲或者讀取的數(shù)據(jù)。一般地,int整型的位數(shù)等于數(shù)據(jù)總線的寬度,指針的位數(shù)等于地址總線的寬度。計算機的基本訪問單元學(xué)過C語言的人都知道,C語言的基本數(shù)據(jù)類型中,就屬char的位數(shù)最小,是8位。我們可以認為計算機以8位,即1個字節(jié)為基本訪問單元。小于一個字節(jié)的數(shù)據(jù),必須通過位操作來進行訪問。
內(nèi)存訪問方式
如圖1所示,計算機在進行數(shù)據(jù)訪問的時候,是以字節(jié)為基本單元進行訪問的,所以可以認為,計算每次都是從第p個字節(jié)開始訪問的。訪問的長度將由編譯器根據(jù)實際類型進行計算,這在后面將會進行講述。
sizeof關(guān)鍵字
sizeof關(guān)鍵字是編譯器用來計算某些類型的數(shù)據(jù)的長度的,以字節(jié)為基本單位。例如:
sizeof(char)=1; sizeof(int)=4;
sizeof(Type)的值是在編譯的時候就計算出來了的,可以認為這是一個常量!
-
計算機
+關(guān)注
關(guān)注
19文章
7654瀏覽量
90659 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
3118瀏覽量
75204 -
總線
+關(guān)注
關(guān)注
10文章
2959瀏覽量
89671
發(fā)布評論請先 登錄
工業(yè)計算機如何設(shè)計用于沖擊和振動

計算機網(wǎng)絡(luò)入門指南

虛擬內(nèi)存對計算機性能的影響
量子計算機與普通計算機工作原理的區(qū)別

工業(yè)計算機類型介紹

評論