如果CPU緩存足夠大的話,是不是可以把系統裝進緩存裡?

旋風男孩11


不考慮經濟性也就是錢的問題,以現在的技術能力,確實可以製造出能裝下系統的CPU緩存,但是請相信我,你把系統裝進CPU緩存後,結果會讓你懷疑人生。

先說緩存(Cache)。緩存是分級的,在手機SOC芯片的CPU中,一般有三級緩存,分別是L1、L2、L3,都是由晶體管構成,區別在於晶體管的多少、大小和複雜程度,但肯定是速度快的緩存,晶體管數量更少、複雜程度更高,更耗電。

那麼SOC芯片中,緩存有多大呢?下圖是驍龍845的內核X光照片,CPU的三級緩存也就是L3 Cache被我圈出來了,面積佔了整個芯片的大約1/70,容量有2MB。

我們假設都將安卓8.0系統裝到L3 Cache中。安卓8.0系統大約有1.8GB左右,也就是1800MB,是驍龍845的CPU的L3 Cache的900倍,而L3 Cache的面積大約是整個845芯片的1/70,也就是0.34平方毫米(估算,數字不一定精確,見諒),容量擴大到1.8GB的話,面積大約為304平方毫米,相當於長3.04釐米,寬1釐米,不算誇張啊。考慮到手機還要裝應用,流暢運行還要有空閒空間,因此緩存容量至少還要再加1.8GB,總容量達到3.6GB,面積大約為608平方毫米,相當於長3.04釐米,寬2釐米。

芯片封裝後才能使用,封裝後的面積至少要增加50%,也就是說3.6GB的緩存封裝後的總面積至少為912平方毫米,相當於長3釐米,寬3.04釐米,這個面積,現在的手機也能比較輕鬆裝下。

但是由於緩存速度很快,我們都知道,馬兒能跑必然能吃,換句話說,3.6GB的緩存耗電量也是上千倍增加,手機估計一會兒就成電爐子了。

即使你解決散熱問題,這顆帶著超大號緩存的驍龍845速度會不會快到飛起呢?答案令人沮喪,它會從兔子變成烏龜。因為緩存做到這麼大,CPU要在一個時鐘內訪問所有緩存單元,CPU內核不得不降速,而且是好幾個數量級的降速,結果就是手機卡頓明顯。

花了大筆錢,動用海量技術資源,得到的是一部運行慢吞吞的手機,所以一味增大緩存並不能提高性能,這也是多年來,CPU內核速度在提升,但緩存容量增加緩慢的原因。


段馬樂諮詢


理論是可以的,但是你要知道一個致命的問題,SRAM的確是速度非常快,如果真的可以把SRAM作為硬盤製造的話,那麼系統轉進去,那CPU也不用訪問內存的緩存了可以直接訪問硬盤,我想到那個時候系統的操作速度估計會飛起。但是正是為了讓SRAM更快速的讀寫,SRAM的內部構造要遠遠複雜於DRAM內存。

一個DRAM內存可能只需要一個電容和一個晶體二極管就搞定了,但是SRAM需要存儲單元陣列(core cells array),行/列地址譯碼器(decode),靈敏放大器(Sense Amplifier),控制電路(control circuit),緩衝/驅動電路(FFIO)這麼五個部分才能構成一個存儲單位,因此需要放下這麼多的元器件,你就可以知道要是用作它作為大量數據村村器一個32GB的芯片得需要多大,即使做出來估計也有大半個手機那麼大了,一個512GB的硬盤需要16個這麼大的芯片合起來有筆記本那麼大了,你就想想吧一個512GB的硬盤都要筆記本那麼大,那麼一臺電腦得要做多大。

上面除了SRAM不能用於高密度集成主流存儲器之外,還有一個原因就是其耗電量問題,因為其元器件構成複雜,一個存儲單元的耗電量相比較DRAM的好電量就是四到五倍,可想而知,同樣存儲容量下存儲芯片聚合到一塊的耗電量有多大,耗電量的增大帶來的就是發熱問題,估計即使是造出來的這樣的芯片,那麼每塊芯片上面都要放上一個大功率風扇才可以,話題又折了回來了,如果加上風扇的體積,那麼一個512GB的硬盤厚度嘛估計就有十幾公分,這分明不是硬盤分明是一塊詐彈吧,並且你家的電閘也會跳閘了。

當然其帶來的速度估計拷貝個100GB的東西也是幾秒鐘的事情。還有一個就是造假問題,如果是一塊SRAM芯片造出來的硬盤估計得個幾十萬吧至少是這麼多。

所以你的設想是好的,但是考慮其本身的一些缺陷問題,其根本不適合做高密度集成的主流存儲設備,其目前最成功的應用還是作為各種高速緩存存在,這也是目前計算機制造在成本和性能最完美的平衡,因此不要再搞這樣異想天開的設想了。


程序小崔


cpu行不行不知道 我見過裝到內存條的 速度超快 就是別關機


123ddc


這個問題很有意思,所以不請自來答一發。先說能不能把系統裝進緩存。我的看法是,把系統裝進CPU緩存裡的想法完全可行,因為以現有的技術手段,可以在PC的CPU上做出容量大到裝下系統的緩存,但在手機CPU上則不行,至於為什麼,後面再說。

CPU和硬盤之間隔著內存和緩存(Cache),速度從大到小依次為CPU/一級緩存>二級緩存>三級緩存>內存>硬盤(備註:二級緩存在CPU內時,運行速度與主頻相同,在CPU外時,運行速度降為主頻一半,這裡假定二級緩存在CPU外)。

各級存儲之間的關係可以打個粗淺的比方:硬盤相當於快遞倉庫,內存相當於快遞營業部,二/三級緩存相當於快遞三輪車貨箱,一級緩存相當於盛著貨物(數據)的快遞箱。比方不一定精確,能理解就好。

題主的想法是把系統裝進緩存,相當於直接把貨物放到三輪車貨箱,不經過倉庫和快遞營業部。只要“三輪車貨箱”(二/三級緩存)夠大,完全可以裝下龐大的“貨物”(系統)。而以目前的芯片製程工藝,是可以將二/三級緩存做到32個GB,並把它集成到CPU內核外。

一條筆記本用的普通的32GB內存條如下,如果去除封裝、周圍電路和PCB板,實際芯片面積可能只有整個板子的1/6大。

考慮到緩存是SRAM(Static RAM),屬於靜態存儲器,結構比內存條採用的DRAM(隨機動態存儲器)複雜,體積是DRAM的6倍,所以32GB容量的SRAM芯片體積差不多就是一根32GB筆記本內存條大小,集成到CPU內核外圍後,體積不會太誇張。

我們看到的CPU尤其是電腦CPU,之所以看起來體積不算小,主要是因為封裝和引腳撐大了體積,真正的芯片僅比成人指甲蓋略大,如上圖紅框內部分。所以CPU加上32GB二/三級緩存後,整個體積可能並不比下圖的“白金至強”大(注意比較至強和人手的大小)。不過這個體積對手機來說還是太大了,能耗也會高到嚇人,所以在手機SOC芯片上沒有實際操作性。

前面有回答說緩存太大的話,成本會太高。這也不是問題,SRAM僅比DRAM貴4倍,這點開銷對土豪來說真不算啥,一般燒友咬咬牙、跺跺腳就能承受。

一句話,在CPU上(CPU內核外)集成能裝下系統的緩存,從技術上說可行,從成本上看也並非高不可攀,簡單說可以操作。

問題又來了,既然可行,為啥不見英特爾、AMD推出這種產品呢?

答案是,緩存用的SRAM和內存用的DRAM都是易失性存儲,一斷電,數據清零,你還得重新裝操作系統,煩不煩?

有人說,我24小時供電,像服務器那樣,應該沒問題了吧。

答案是,仍然有問題,CPU每次運算時,並不會用到全部系統代碼(實際上也不可能),只會用到很少一部分,換句話說,把系統都裝進緩存並不會提升運算速度和數據傳輸速度,反而會造成資源浪費。

總之,把系統裝進緩存,技術可操作,成本也不是問題,唯一的問題是沒實用性,這也是芯片大廠們沒有推出相關產品的原因。



魔鐵的世界


當然可以,但是有難度。首先要了解緩存、內存、硬盤的各種作用。

打個比方:一級緩存就像你吃飯的筷子,二三級緩存就像碗,內存就像大鍋,硬盤就像冰箱。筷子能把你想吃的食物直接放進嘴裡,嘴的大小限制了你只能用筷子往嘴裡運送少量的食物,但是筷子上的食物能直接放到嘴裡。從碗裡那食物肯定要比筷子上的慢,鍋裡的更慢。當然冰箱裡的是最慢的,但是能長久存放。

那麼你想要用筷子把一鍋的食物都夾起來就需要有足夠大的筷子,但是筷子做大了隨之而來的一個問題就是筷子上有我不想吃的食物也有我想吃的食物,那麼尋找我想吃的食物就要花費時間尋找,造成了我反而吃的比較慢。而且要用大筷子吃飯就要手一直用大力拿著它,這又增加了體力支出,產生熱量會增大。

最主要的是嘴的咀嚼能力有限,這麼多的食物不可能全部放進嘴裡,也不可能一直用筷子夾著,能吃了的先放在碗裡,做好了的就放在鍋裡,不吃也不用的就放在冰箱裡。



文姜泉


從事軟件開發多年,這是一個非常有意思的話題,理論上是可行的但起碼要滿足兩個條件,有這麼容量的緩存其實就是不計代價,其二默認的操作系統可以針對緩存進行移植對接。這種想法只是在適用於理想狀態下,真是狀態下意義不是很大,畢竟成本因素佔比還是非常大。未來科技的發展不排除有這種設想,主要因素還是成本方面的問題,現在配置電腦都會帶著ssd硬盤,而且ssd硬盤在誕生之初價格也是高的嚇人,隨著技術的成熟以及產業鏈的成熟慢慢,成本逐漸下來了。

現在講下緩存的原理,緩存就是數據交換區,計算機的工作原理是CPU訪問的數據都是放置在內存區,如果需要保存操作硬盤來完成,現在常說的運行的程序文件存儲在硬盤上,運行的時候在內存上,為了提升效率專門在cpu上集成一個緩衝區,就是我們說到的緩存,cpu的緩存作用就是數據交換區,cpu在訪問數據的時候第一優先級先把緩存裡面的數據取出來,如果沒有再從內存中獲取,但這個效率就會下降很多,大家都知道緩存是個好東西,但由於其材質等方面的因素價格要比普通的內存多上好幾倍,而且為了不影響cpu的性能體積還不能太大,所以常見的緩存一般都設置的很小,即使很小性能上也會提升許多。

其實這種方式在軟件上利用空間換時間的方式,有些大塊頭的軟件為了提升運行的效率提前分配一塊內存運行,這樣運行的時候直接運行內存中程序,效率就會提升許多,所以無論硬件還是軟件都有想通之處,現在的緩存技術已經升級到二級,三級的水準,道理還是相似,就是起到數據緩衝區的作用,而且這裡面涉及到一個非常重要的概念,由於數據交換的頻度或者調用的次數不一樣,對於緩衝區數據的交換需要按照一定的算法規則來實現,不同的緩衝區可能採用不同的算法,不要覺得CPU裡面的編程就變少了,只能講軟件無處不在。

多級緩存的原理如果再次深入學習的話,會變得十分複雜,緩存之間還需要固定的通訊格式,如果再加上多核cpu複雜度又是數量級的提升,所以芯片這塊國內還是非常大的弱項,主要這項技術需要一個長時間的積累,不是單靠拿出幾年的時間就能突擊出來的,現在國內能做出來的基本上屬於底端芯片,華為的麒麟芯片算是比較高端的了,也是經歷多少年的打磨,在技術上距離頂端的還是存在一定的距離,不過隨著時間的推移國人早晚會擁有屬於自己的芯片技術,畢竟落後的太多了。

所以我們平時在買電腦的時候,一旦想追求點高速度就需要有大的緩存,而且增加一點很小的緩存就能增加不少金錢,所以緩存技術算是cpu裡面一項非常重要的技術創新。

希望能幫到你。


大學生編程指南


理論上是可以的,但是考慮到安全性和成本等客觀問題,實際中是不會這麼做的。

這個問題非常有意思,想要明白其中的緣由,首先需要對計算機的存儲模式做以瞭解。

三級(多級)存儲

自從世界上第一臺計算機“埃尼阿克”面世,往後所有的計算機都遵循著馮諾·依曼提出的“存儲控制原理”。為了更高效的執行命令,設計者們規定了多級存儲的模式。

  1. 三級存儲(外存):也叫輔存,這種存儲是日常中最為常見的,比如說光盤,移動硬盤和U盤。這類存儲的容量非常大,可以達到幾個T,多用來保存遊戲,音樂,視頻等數據,斷電後可以保留數據。價格相對比較便宜。

  2. 二級存儲:這類存儲就是我們俗稱的內存,可以存放CPU中的運算數據和外部存儲器交換的數據,就像中轉站一樣。需要注意的是,內存保留的數據是暫時的,具有斷電易失性。

  3. 一級存儲:也成為寄存器,可以理解為“cpu裡的存儲器”。因為是直接和CPU進行數據往來,所以速度最快,價格也最為昂貴。相應的存儲容量也很小,一般只有幾個或數十個字節。

高速緩存

當計算機工作時,寄存器,內存,外存每時每刻都在進行數據傳輸,由於三者可能存在速率不匹配的問題,就會影響到計算機的整體運行速度。高速緩衝存儲器(cache)正是為了緩解這個情況而生的。

cache位於CPU和內存之間,規格很小,容量多為幾Kbits和幾Mbits。通過優化調度等算法,系統的性能會大大改善。

回到問題本身,雖然說目前緩存技術已經比較成熟,甚至有了多級緩存技術,但緩存的容量並沒有太大的突破。因為緩存實在是太貴啦!操作系統就以現在最常見的win10為例,32位的win10系統大小為16G,為了保證系統的正常運作,系統盤最少需要20G的空間。如果是64位的操作系統,除卻系統固件以外,還需要不少空間來存儲註冊表之類的其他內容,差不多需要50G的空間!這個大小遠不是緩存能夠吃得消的。

第二,即使說我們不考慮成本問題,假設真的做出了容量為幾十個G的緩存,還是不能直接將系統放進去。就和內存一樣,SRAM必須工作在通電的環境下,就像內存一樣,如果斷電,先前保存的數據就會丟失,即使重新接上電後也不能恢復。


所以說,將系統直接裝在緩存裡,這個想法很大膽也很有新意,但無論是在經濟效益還是安全保障方面,都是不切合實際的。在上述緣由沒有得到解決之前,是不可能真正應用到實際生活中當中去的。


愛思考的奧特曼


這個問題嘛,舉個例子,內存足夠大能到1TB以上價格合適的話硬盤就沒什麼用了,同樣硬盤足夠快內存也沒什麼用了,緩存能大到幾百G內存硬盤都是可以淘汰的,但是目前成本是個問題,或許有一天內存硬盤都會被集成到一個CPU裡面,更或許未來電腦一塊芯片可以同時集成CPU顯卡,內存硬盤,甚至電源,外設接口,到那一天電腦就只剩下一塊芯片就可以完成了,一個好的散熱器,一臺顯示器,外設就是臺電腦了


Hello四葉草


把系統放進CPU緩存是不可能的,因為CPU中的一二三級緩存是SRAM存儲結構,這也屬於一種RAM隨機存取存儲器,SRAM只要通電裡邊的數據就一直會在,但是一旦斷電以後裡面的數據也沒了,這樣只要電腦斷電或者關機操作系統的文件就會被徹底刪除,下次開機也就無法使用系統了。

CPU緩存使用的SRAM的特點就是速度快,而且從一級緩存到三級緩存速度依次遞減,容量依次增大,但是CPU緩存最大的缺點就是結構複雜,成本高,佔用面積大(一個SRAM需要六個MOSFET),因此我們看到CPU發展幾十年來,一二級緩存的容量都保持的非常小,儘管現在有了更大的三級緩存,但是加起來最多也就幾十Mb,遠遠放不下一個操作系統。

當然,為了保證CPU的速度,CPU內部緩存的速度都是非常快的,屬於目前速度最快的存儲介質,如果能把操作系統安裝在緩存裡可以獲得非常快的運行速度,可惜無論是技術原理還是容量上都無法做到,即使是在未來許多年以後也做不到,所以目前提高系統性能最好的辦法還是把系統安裝在SSD固態硬盤裡,期待未來閃存芯片的性能可以提高到內存的水平吧!


嘟嘟聊數碼


從事軟件開發多年,這是一個非常有意思的話題,理論上是可行的但起碼要滿足兩個條件,有這麼容量的緩存其實就是不計代價,其二默認的操作系統可以針對緩存進行移植對接。這種想法只是在適用於理想狀態下,真是狀態下意義不是很大,畢竟成本因素佔比還是非常大。未來科技的發展不排除有這種設想,主要因素還是成本方面的問題,現在配置電腦都會帶著ssd硬盤,而且ssd硬盤在誕生之初價格也是高的嚇人,隨著技術的成熟以及產業鏈的成熟慢慢,成本逐漸下來了。

現在講下緩存的原理,緩存就是數據交換區,計算機的工作原理是CPU訪問的數據都是放置在內存區,如果需要保存操作硬盤來完成,現在常說的運行的程序文件存儲在硬盤上,運行的時候在內存上,為了提升效率專門在cpu上集成一個緩衝區,就是我們說到的緩存,cpu的緩存作用就是數據交換區,cpu在訪問數據的時候第一優先級先把緩存裡面的數據取出來,如果沒有再從內存中獲取,但這個效率就會下降很多,大家都知道緩存是個好東西,但由於其材質等方面的因素價格要比普通的內存多上好幾倍,而且為了不影響cpu的性能體積還不能太大,所以常見的緩存一般都設置的很小,即使很小性能上也會提升許多。

其實這種方式在軟件上利用空間換時間的方式,有些大塊頭的軟件為了提升運行的效率提前分配一塊內存運行,這樣運行的時候直接運行內存中程序,效率就會提升許多,所以無論硬件還是軟件都有想通之處,現在的緩存技術已經升級到二級,三級的水準,道理還是相似,就是起到數據緩衝區的作用,而且這裡面涉及到一個非常重要的概念,由於數據交換的頻度或者調用的次數不一樣,對於緩衝區數據的交換需要按照一定的算法規則來實現,不同的緩衝區可能採用不同的算法,不要覺得CPU裡面的編程就變少了,只能講軟件無處不在。

多級緩存的原理如果再次深入學習的話,會變得十分複雜,緩存之間還需要固定的通訊格式,如果再加上多核cpu複雜度又是數量級的提升,所以芯片這塊國內還是非常大的弱項,主要這項技術需要一個長時間的積累,不是單靠拿出幾年的時間就能突擊出來的,現在國內能做出來的基本上屬於底端芯片,華為的麒麟芯片算是比較高端的了,也是經歷多少年的打磨,在技術上距離頂端的還是存在一定的距離,不過隨著時間的推移國人早晚會擁有屬於自己的芯片技術,畢竟落後的太多了。

所以我們平時在買電腦的時候,一旦想追求點高速度就需要有大的緩存,而且增加一點很小的緩存就能增加不少金錢,所以緩存技術算是cpu裡面一項非常重要的技術創新


分享到:


相關文章: