成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CPU是如何訪問內存的?

運維 系統運維
內存管理是一個復雜的模塊,它涉及到硬件的交互和復雜的軟件算法。本片文章我們就來講解下硬件原理和分頁管理。

在之前的《Linux內存管理》文章中,我們大致講解了Linux內存管理的體系架構和映射過程。當然內存管理是一個復雜的模塊。它涉及到硬件的交互和復雜的軟件算法。本片文章我們就來講解下硬件原理和分頁管理。

CPU如果訪問內存?

答案很簡單,通過內存管理單元(MMU),我們先看一張很簡單的CPU訪問內存的流程圖:

CPU是如何訪問內存的?

TLB:轉換lookaside 緩存,有了它可以讓虛擬地址到物理地址轉換速度大增。

從上圖中我們可以清楚的知道了,CPU,DDR,MMU它們三者之間的關系。CPU在MMU開啟的情況下,訪問的都是虛擬地址。首先通過MMU將虛擬地址轉換為物理地址,然后再通過總線上去訪問內存(我們都知道內存是掛在總線上的)。

那MMU是怎么將虛擬地址轉換為物理地址呢?當然之前的文章也講過了,是通過頁表的方式。MMU從頁表中查出虛擬地址對應的物理地址是什么,然后就去訪問物理內存了。

所以搞懂了上面的問題,也就解決了標題的問題:《CPU如何訪問內存的?》

頁表是什么?頁表就是一種特殊的數據結構,它保存的是邏輯頁和物理頁幀的映射關系,而且每一個進程都各自擁有自己的頁表。

虛擬地址在我們看來是一個整體,其實不然,它是可以拆分的。可以分為:

  • p(頁號),它可以存儲頁表的索引;
  • d(偏移),可以在頁內進行地址偏移

我們假設頁大小為4KB,而且頁表只有一級,也就是一級頁表。那虛擬地址的拆分后的樣子是這樣的:

下面我們來看下CPU,虛擬地址,頁表和物理地址之間的關系。看下圖:

很簡單的吧,應該看懂了吧。我們可以發現如果采用一級頁表的話,每個進程需要維護一個4MB大小的頁表(我們可以算下,如果是32位平臺,地址空間大小為4GB,頁面大小為4KB,每個頁表項占用4字節,所以4GB/4KB*4=4MB)。

因為每個進程都有自己的頁表,所以在多進程的情況下,內存消耗簡直驚人。所以一級頁表是不合理的。那有沒有優化的辦法呢?答案是有的,就是利用多級頁表,可以節省內存。

二級頁表就是將頁表再次分頁。再次舉例,將邏輯地址分為10位頁碼p1+10位頁碼p2+12位頁偏移。我們直接看圖吧。

訪問過程如下圖:

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2018-12-06 12:58:50

CPU內存模塊

2021-05-10 08:20:32

CPU 符號整數

2020-07-28 08:10:33

Linux內存虛擬

2024-09-09 09:41:03

內存溢出golang開發者

2019-10-16 00:06:08

CPU內存存儲

2021-07-28 07:53:20

CPU 線程切換

2021-04-08 09:32:17

鴻蒙HarmonyOS應用

2019-02-28 14:04:28

內存固定分配存儲

2023-03-05 22:30:25

JavaCPU

2020-11-10 08:41:51

CPU執行任務內存

2021-11-10 09:15:00

CPU01 二進制Linux

2019-08-16 14:18:38

CPU故障

2018-08-16 11:30:12

JavaCPU緩存

2009-02-16 18:08:01

linux硬件信息cpu

2019-08-19 08:01:50

Flink數據管理內存

2023-10-17 00:01:34

Linux操作系統

2020-08-11 09:41:27

CPU硬盤操作系統

2021-09-14 10:21:13

CPU高性能服務器

2021-08-13 07:56:13

CPU寄存器數據

2019-12-10 14:51:00

CPU緩存內存
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 视频在线一区二区 | 黄色毛片一级 | 国产精品久久久久久影视 | 欧美一区二区免费视频 | 欧美一级免费黄色片 | 欧美日韩中文在线 | 久久久久久久一级 | 亚洲h色 | 国产专区视频 | 一区二区日韩 | 日本污视频 | 日本精品视频在线 | 免费艹逼视频 | 国产精品国产亚洲精品看不卡15 | 韩国理论电影在线 | 狠狠操婷婷 | 一级毛片色一级 | 国产精品夜夜夜一区二区三区尤 | 国产综合在线视频 | 国产成人精品一区二区三区四区 | 视频一区二区国产 | 日韩精品不卡 | 亚洲精品自在在线观看 | 九九热免费在线观看 | 日韩精品一区二区三区中文字幕 | 操操网站| 精品国产一区二区在线 | 午夜精品在线观看 | 亚洲视频一区在线观看 | 成人在线一区二区三区 | 成人在线免费视频 | 久久久精品一区二区三区 | 国产精品成人一区二区三区夜夜夜 | 中文字幕二区 | 艹逼网 | 黄色一级大片在线免费看产 | 欧美aaaaa| av在线播放网| 中文字幕在线二区 | 国产综合精品一区二区三区 | 日韩一级黄色片 |