記憶體和快取在乙個位址空間裡嗎

時間 2021-05-30 21:05:50

1樓:kanmars

額,樓主,我只想問你 : 什麼叫做乙個位址空間,"個"不是計算機中的任何計量單位

這個概念不存在的

另,快取有很多中.........

所以,這個問題如果回答"不是",那麼在八成的情況下是正確的

2樓:馬魯魯

從一般程式設計的角度來說,是的。舉個例子來說:

硬碟是廚房裡的鍋,記憶體是餐桌上的盤子,快取和暫存器可以說是你的碗。它們的容量越來越小,訪問速度卻越來越快。

「在乙個位址空間」的意思就是,當你想要吃什麼菜只要吩咐你的僕人(作業系統)就好了,他會悄咪咪地把菜盛到你的碗裡給你,你不需要管具體細節。

「不在乙個位址空間」就意味著,你要自己處理把菜盛到鍋裡,把暫時不吃的菜從盤子倒回鍋裡等一系列瑣事。而且如果你是個壞人人,還可能造成安全隱患,比如你吃了別人的菜(越權訪問),把自己的菜倒到別人碗裡(溢位攻擊)。

所以說在一般程式設計的時候,作業系統會給你一種假象——你面前只有乙個碗(統一的記憶體空間),要吃什麼跟僕人(作業系統)說就好了。

參考: 我坑OS的參考書OSTEP

3樓:

快取是記憶體「資料」的乙個子集,你用什麼「索引」在記憶體裡面找資料,就用什麼「索引」在快取裡面找資料。

從這個角度講,快取和記憶體用的同乙個位址空間。

4樓:kknd1394

考慮到現代處理器產品複雜性,答案是可以有可以沒有

很多處理器可以把快取配置成片內儲存,特別是嵌入式mcu等產品

普通桌面處理器這麼幹的很少,主要是針對普通桌面應用用處不大。

5樓:原子筆

cpu的快取不在馮諾依曼架構之內,如果給軟體訪問使用需要cpu自己提供乙個命令(或者特殊的中斷),支援把這部分快取儲存器當「虛擬記憶體」來用,這樣就可以通過「定址」的方式來使用這部分儲存了。

沒錯,很多cpu包括咱們的x86都支援這樣用,因為系統引導階段記憶體是不可用的(x86系統引導有的bios甚至會做記憶體自檢這樣的操作),但是引導程式本身是需要用「記憶體」的啊,cpu那幾個暫存器夠用才怪了,,,所以很多時候這不是可選功能反而是一項非常必要的功能(即使是很多嵌入處理器也得給你點內部的非易失儲存來初始化flash)。

所以cpu在記憶體控制器初始化完成之前會先允許你把cpu的DCACHE拿來當「記憶體」用(放心,cpu幫你實現了「頁表」,不過這部分的cpu使用限制是非常多的,ICACHE需要被禁用我是記得的),直到你搞完事,初始完有關東西就可以去切換cpu模式成普通的實模式來使用記憶體啦。

可以閱讀2.UEFI四個階段(二) 來看看。從我的理解上來看,x86 cpu啟動後的任何乙個階段,不存在某個「頁表」又能對映cpu快取也能對映記憶體的,所以至少在咱們最常用的cpu上是不應該讓你有機會把快取和記憶體一起定址的,或者說不允許

把快取當「高速記憶體」來用的(這是我曾經夢寐以求的事情,因為我覺得我自己寫彙編管理DCACHE的水平比cpu強多了,哪些應該mov到DCACHE裡,哪些應該mov到普通記憶體堆疊裡,我比cpu更清楚。)

6樓:棒子先生

cache 是 2 個層級之間的一段 buffer,用於巨集觀上加速 2 個層級之間的物理通訊,這 2 個層級包括 CPU core和記憶體/CPU core 和更下一級 cache/ 上一級 cache 和下一級 cache/上一級cache 和記憶體,總的來說就是乙個加速器,它沒有自己的位址。

記憶體一般來說是乙個物理裝置的概念,記憶體由記憶體控制器直接讀寫,記憶體控制器被匯流排被對映到一段位址上面。

C 只能看到位址,記憶體可以對映到位址,而 cache 沒有位址,所以 C 可以訪問記憶體而不能訪問 cache。

7樓:煩了

快取是快取,記憶體是記憶體。

cpu通過位址線發出要訪存的位址,該位址首先會和快取標記比對。

比對成功則直接在快取中訪問,比對失敗才訪問記憶體,並將記憶體該塊一併調入快取。

綜上,使用的位址,任然是cpu通過位址線發出的位址,位址只有乙個,快取和記憶體解釋該位址的方法不同。

記憶體的位址空間劃分的方式,請搜尋:計算機組成原理-儲存器相關章節,更詳細一些。

我們存在於乙個怎樣的宇宙空間裡?

AMGUST 個人認為宇宙全貌是什麼樣的根本不重要。量子力學的雙縫實驗基本說明了現在的宇宙是模擬系統。而模擬機故意把宇宙做的很大,大到人類在四維空間幾輩子的時間都探索不完,有利於模擬機那頭的穩定。 Sebastian 這個問題就跟構成我們細胞的原子問其他原子一樣。一直有個想法,這個宇宙所有星體構成的...

如果存在乙個空間,裡面什麼都沒有,但在那待一秒就給你一塊錢,你覺得你可以在裡面待多久?

假設有任何維持生命條件,如水,空氣 那也超不過兩天,沒有光,一片黑暗,人會崩潰 不會崩潰,也沒有人,在現實生活,外國有那些活動,待多長時間給多少錢,也沒見成功的 馬克 你們是不是太天真了。乙個什麼都沒有的地方。有光嗎?在完全漆黑無物的環境中,正常人類堅持不了48個小時,精神就會出現失常。事實上,有人...

空間裡能否找到乙個正方體和乙個平面,使得正方體各頂點到平面的距離恰好為零至七這八個整數?

蘋果味梨子 可以這麼理解,立方體和乙個指定平面的方位 純看距離的話 有五個自由度 中心點到平面距離,邊長,空間角度 算三個 所以八個頂點裡有五個頂點到平面的距離可以任選,但是剩下三個需要由這五個來決定。挑一種情況,八個點到平面距離由小到大依次是d0,d1,d2,d3,d4,d5,d6,d7.d0至d...