別人說計算機程式都需要經過記憶體才能被CPU執行,我就信了,但一直不明白CPU里面的資料和指令都是二進制的機器碼(如何看待資料和指令是CPU說的算),為什么還需要記憶體?難道放CPU里面,放磁盤里面不行嗎?
uj5u.com熱心網友回復:
各種資料太大了老哥。全放cpu的cache放不下,而放磁盤里面又太慢。所以有memory hierarchy的概念uj5u.com熱心網友回復:
也就是說記憶體是為解決各種瓶頸問題而出現的,如傳輸速度、存盤空間、介質成本等,這與馮諾依曼結構和哈佛結構又有什么關系呢?uj5u.com熱心網友回復:
哈弗結構的特點就是處理單元和存盤單元是分開的,處理單元的運算速度很快,存盤器的資料存取速度跟不上是當前處理器的瓶頸uj5u.com熱心網友回復:
我能弱弱的回一句,需要記憶體是為了賣錢么
uj5u.com熱心網友回復:
大人物大視野uj5u.com熱心網友回復:
舉個例子,你現在要跑個游戲,假設2個G,但是cpu內部是沒有2個G的空間可以放得下,如果你現在不要記憶體,只有CPU和硬碟。既然cpu放不下,你只有放到硬碟,假設你的是個機械硬碟,我們都知道cpu一般是多少GHz,硬碟的傳輸速度,我建議你做個試驗,將一個稍大的壓縮包,從一個盤拷貝到另一個盤(比如D盤拷貝到E盤),你會發現,這兩個的速度完全是差了好幾個數量級,這個會造成什么問題,你玩這個游戲的時候,感覺不是用了一個電腦,而是用了一個空調遙控器。CPU和記憶體速度是差了一個數量級的,記憶體和硬碟速度又是差了幾個數量級的。為什么要用這么多層的結構來設計電腦,是因為成本,cpu內部使用的快取,就是CPU寫的幾級快取,是存盤介質中最快的,但是如果電腦中全部使用這種玩意,那估計電腦只有某思聰才玩得起。uj5u.com熱心網友回復:
記憶體比磁盤快....uj5u.com熱心網友回復:
王思聰也玩不起的,因為cpu中的cache變大的話,速度就變慢了,所以L1, L2, L3 cache即使在頂級的intel處理器中加起來也都不過十幾Muj5u.com熱心網友回復:
人也需要記憶uj5u.com熱心網友回復:
cpu只能在它的地址線上尋址····就算硬碟夠快,也不能直接讀寫硬碟。uj5u.com熱心網友回復:
CPU內部有cache(快取),比如一級快取、二級快取(由于資料量的加大,傳統的快取已無法滿足資料緩沖需求),由于CPU集成了北橋,北橋對應的介面速度較快,而外設比如硬體或者光驅的讀寫速度相當較為緩慢,正常CPU訪問外設的資料,先把資料讀到記憶體,記憶體作為一個緩沖,再從記憶體中讀取資料。另外,需要指出一點,部分CPU把南橋也集成了,比如AMD的ROMA平臺。uj5u.com熱心網友回復:
資料太大了老哥uj5u.com熱心網友回復:
未來有一天硬碟速度爆炸了就不需要記憶體了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/97120.html
標籤:硬件使用
上一篇:移遠MC20睡眠模式
