記憶體的位寬必須和cpu的資料匯流排的位寬一致嗎?

時間 2021-06-03 02:00:19

1樓:木頭龍

這個問題問的相當不嚴謹。早期的電腦,各種裝置採用統一的系統匯流排(System Bus)交換資料。後來隨著CPU效能的提公升,與其它IO裝置的速度差距越來越大,單一的系統匯流排已經無法滿足CPU的要求,從奔騰Pro開始,Intel採用了雙匯流排,其中CPU與北橋的資料交換是較慢的前端匯流排(Front Side Bus,FSB),CPU內部則是採用更高速的後端匯流排。

現代CPU因為整合了記憶體控制器、核心顯示卡、PCI-E控制器,也就是說和CPU交換資料的資料通道有CPU-記憶體,CPU-PCI-E裝置,CPU-晶元組三種,同時雙路/多路CPU之間也需要交換資料。因此現在說「CPU的資料匯流排」,最早期的應該就是等同於系統匯流排,中期應該是指前端匯流排,現代的話,那麼就要指明你說的是哪個資料通道,當然,結合上下文,我可以理解為CPU和記憶體之間的資料通道。

然後位寬是指資料通道中乙個時鐘週期能傳送/接受的資料位數(二進位制的),那麼對於指定的資料通道來說,顯然傳送方和接收方的位寬必須一致,不能說我發了32位資料出來,你才收到前面的16位,後面的就丟掉了。

所以,就題主的問題來說,那麼就有兩個不同的答案了:對於採用系統匯流排的早期CPU,和現代整合記憶體控制器的CPU來說,資料匯流排的位寬和記憶體的位寬是必須一致的。但中期採用FSB的CPU,因為中間有乙個北橋,所以並不需要位寬一致,其它答案裡面提到的820晶元組就是乙個很好的例子,北橋和CPU之間是64位的位寬,但北橋和記憶體之間是16位的位寬。

即使是後來雙通道RDRAM的850晶元組,雙通道加起來也不過是32位的位寬。

其它答案裡面的說頻寬的,估計是混淆了頻寬和位寬的概念;然後 @Jin Dwight 說的顯然有點瑕疵,前端匯流排的位寬一直都是64位的,沒有出現過32位前端匯流排的CPU。然後雙通道是為了提供足夠的頻寬,跟位寬沒有關係。

2樓:Jin Dwight

卸腰,目前來看一定。

這就是為啥RAMBUS記憶體一定要成對使用。因為普通RAMBUS記憶體是16bit的,CPU的資料寬度是32bit,需要兩組記憶體並行讀寫才能滿足CPU讀取資料的需求。不然的話你會有乙個超級複雜的記憶體控制器,把乙個32bit資料拆分到兩個記憶體cell裡以兩個16bit資料的形式儲存,讀取的時候再拼出來……效率實在是不高

記憶體頻率2666的CPU和2666的主機板配3200的記憶體條會怎麼樣?

emmmm 記憶體頻率跟cpu沒啥關係,跟主板晶元組關係很大了比如9600k上面寫著2666,但是,實際上,在z370或者z390上,跑3200條子,沒啥問題 但是在b360,b365上,哪怕你上4200的記憶體,最後頻率還是2666,因為b360與b365記憶體這方面只支援到2666 如果是amd...

筆記本的cpu和記憶體哪個更重要?

蒙特內哥羅老妖 對前端來說,CPU如果滿載執行,那一定是哪個地方故障了,99.99 的時間CPU在划水。相比之下固態硬碟和記憶體相當重要,磁碟要快,記憶體要大且快,實際上其他使用場景也是一樣,CPU夠用即可。推薦的話,前端必須用Mac啊,沒啥好糾結的,用了windows,你就等著鬧心吧,很多生態根本...

16位CPU的普及和16位軟體的普及,兩者有多久的時間差?

勝勳 IBM PC早期採用8088晶元,雖然能處理16位資料,但資料線是8位的,不算真正的16位機 真正的16位資料線的IBM PC是1984年的80286晶元的AT機型 微軟的DOS 3.0作業系統是在1984年發售的,專為80286打造不過要說 家庭普及 那還得是遊戲機 16位CPU主要有M68...