<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      CPU瞞著內存竟干出這種事

      還記得我嗎,我是阿Q,CPU一號車間的那個阿Q。

      今天忙里偷閑,來到廠里地址翻譯部門轉轉,負責這項工作的小黑正忙得滿頭大汗。

      看到我的到來,小黑指著旁邊的座椅示意讓我坐下。

      坐了好一會兒,小黑才從工位上忙完轉過身來,“實在不好意思阿Q,今天活太多,沒來得及招待你”

      “剛忙什么呢,看你滿頭大汗的”,我問道。

      “嗨,別提了,老是發現內存頁面錯誤,不停地要通知操作系統那邊去處理,真是懷念以前啊,沒有這么多破事兒要管”,小黑嘆了口氣。

      我一聽來了興趣,“小黑你給我說說你們的工作唄,地址翻譯是怎么一回事兒,為什么懷念以前呢?”

      小黑調整了下坐姿,咕嚕咕嚕喝了幾口水說道,“這話說來可就話長了”

      接下來小黑開始給我講起了歷史故事······

      8086

      原來咱們的祖先叫8086,小黑還給我看了他的照片

      那是一個純真質樸的年代,雖然工作性能不高,不過那個年代的程序都很簡單,我們的祖先一問世就成為了明星,稱得上那個時代的頂流了。

      看到照片中的那些金屬針腳了嗎?那是我們CPU和外界打交道的觸角,每一根都有不同的作用。

      通過這些觸角,CPU就可以跟內存打交道,獲取指令和數據,辛勤的干活啦。

      那個年代,條件比較差,能湊合的就湊合,能共用的就共用。這不,你看祖先CPU的地址總線針腳和數據總線針腳就共用了。

      祖先是一個16位的CPU,數據(Data)總線就有16位,一次性可以傳輸16個比特位。和地址(Address)總線湊合著一起共用,于是就取名AD0-AD15。

      不過祖先的地址總線卻不止16個,還多出了A16-A19整整4個呢!這樣有20個地址線,可以尋址1MB的內存了!

      但是祖先的寄存器都是16位的啊,只能存放16位的地址。不過他們很聰明,發明了一個叫分段式存儲管理的方法,把內存劃分為最大64KB的小塊,為什么是64KB呢,因為16位地址最多只能尋址這么大了。然后又加了幾個叫做段寄存器的東西,指向這些塊的開頭,這樣,通過段地址+段內偏移地址的方式,就能訪問更多的內存了。

      32位時代

      后來啊,祖先的那點計算能力越來越捉襟見肘,實在是跟不上時代了。家族中的年輕一代開始挑大梁,80286和80386CPU相繼問世,尤其是80386,成為了劃時代的存在。

      到了80386時代,我們與外界通信的引腳就更多了,并且變成了32位的CPU,那個時候,生活條件就變好了,地址線和數據線再也不用共享引腳了。

      后來,人類變得越來越貪心,想要一邊聽音樂,一邊還要上網,同時還要編輯文檔,這就同時需要運行多個程序。

      這個時候,有人發現了商機,開發了一個叫操作系統的東西,原來那些程序不再直接和我們CPU打交道了,而是和操作系統打交道,操作系統再和我們打交道,中間商賺差價說的就是他們!

      操作系統這玩意兒很聰明啊,通過時間片劃分讓我們CPU來輪流執行多個程序,一會兒讓我們執行音樂播放,一會兒讓我們執行瀏覽器程序,一會兒又讓我們執行文檔編輯程序。我們是無所謂啊,給什么代碼不是代碼啊,我們不挑,埋頭苦干就是了。人類的反應速度跟我們就差得遠了,他們還以為這些程序真的是同時執行的呢。

      虛擬內存

      不過隨之而來出現了一個大問題,這么多程序都要運行,大家擠在一個內存里,經常發生摩擦,沖突不斷。

      先祖們為了此事殫精竭慮,終于想出了一個好辦法,一直沿用至今。

      他們提出了一個虛擬地址的東西,所有程序使用的地址都是一個虛擬的地址,在真正和內存打交道的時候,咱們CPU內部工作人員再給翻譯成真實的內存地址,關于這事兒,內存那家伙一直被我們蒙在鼓里。

      這樣一來,每個程序都可以用的是0x00000000到0xffffffff總共4GB這么大范圍的地址空間,當然不會真的給他們那么多空間,內存那家伙總共才4GB呢,而是要按需申請分配。分配的單元是按照來進行的,32位的CPU一個頁是4KB。這些分配管理的累活就讓操作系統來干了,中間商不能光拿好處不干正事,至于我們CPU,做好地址翻譯的工作就好了。

      為此,在我們寄存器內部專門添置了一個新的寄存器CR3,用來指向一個地址翻譯查詢字典,字典劃分了兩級目錄。我們把一個32位的地址劃分了3部分,前面兩部分分別指向兩級目錄中的條目,用來定位這個地址在物理內存的哪個頁面,最后一部分就是指向物理內存頁面的偏移,這樣就完成了地址的翻譯工作。

      每個進程有不同的地址空間,切換進程的時候,把CR3的內容換一下就使用新進程的翻譯字典,特別的方便。

      我們把這種內存管理方式叫做分頁式內存管理。

      真佩服先祖們的智慧,這樣巧妙的把各個程序隔離開來,后來我們把這種工作模式叫做保護模式,把之前那種直接使用真實內存地址的工作模式叫做實地址模式

      分頁交換

      人類變得越來越貪婪,程序變得越來越多,對內存的需求也越來越大。隨著這些程序都不斷申請內存頁面,內存空間很快就要耗盡了。

      我們看在眼里,急在心里,后來找操作系統協商,看看這問題該怎么辦。

      操作系統那家伙也不賴,想出了一個好辦法。內存的大小有限,但是硬盤給力啊,硬盤空間大的多,去硬盤上劃一塊區域來,把內存里長時間沒有用到的頁面給換到這塊區域里去,然后做個標記。如果后面誰要訪問那個頁面,咱們CPU就檢查如果有這個標記,就發送一個頁錯誤的中斷信號告訴操作系統去把這個頁面換回來。

      通過我們之間的配合,解決了內存緊張的危機。后來我們把這個技術叫做內存分頁交換

      現在

      時間過得很快,到了我們這一輩,內存變得更大了,16GB都是小case,32GB也很常見。

      除了內存,我們CPU本身也更先進了,別的不說,你光看看咱們現在的引腳數那比先祖們那幾輩就不可同日而語。

      我們不僅從32位變成了64位,還從單核變成了多核,像我所在的CPU就有8個車間,8核并行執行,比起先祖那個年代簡直有云泥之別。

      彩蛋

      和小黑閑談間,我們車間的老K突然出現在了門口。

      “阿Q原來你在這里,讓我好找,趕快回去吧,隔壁二號車間的虎子說我們改了他們的數據,上門來鬧事了······”

      預知后事如何,請關注后續精彩······

      好了,這一期的故事就講到這里了,如果你想查看更多未發布過的新鮮又有趣的技術小故事,可以掃描下方二維碼購買我最新出版的《趣話計算機底層技術》圖書。書中用一個個的小故事系統性的講解了計算機底層技術的基本原理,以及如何運用他們解決日常工作中的各種實際問題。

      往期熱門回顧

      完了!CPU一味求快出事兒了!

      可怕!CPU竟成了黑客的幫兇!

      哈希表哪家強?幾大編程語言吵起來了!

      內核地址空間大冒險4:線程切換

      震撼!全網第一張源碼分析全景圖揭秘Nginx

      一個整數+1引發的災難

      一網打盡!每個程序猿都該了解的黑客技術大匯總

      看過無數Java GC文章,這5個問題你也未必知道!

      一個Java對象的回憶錄:垃圾回收

      誰動了你的HTTPS流量?

      路由器里的廣告秘密

      一個HTTP數據包的奇幻之旅

      我是一個流氓軟件線程

      posted @ 2020-05-15 14:22  軒轅之風  閱讀(20436)  評論(42)    收藏  舉報
      主站蜘蛛池模板: 亚洲另类欧美综合久久图片区| 亚洲另类在线制服丝袜国产| 亚洲欧美另类久久久精品播放的| 牲欲强的熟妇农村老妇女视频| 色综合激情丁香七月色综合 | 色伦专区97中文字幕| 国产精品日韩中文字幕熟女| 97在线视频人妻无码| av午夜福利一片免费看久久| 久久亚洲精品情侣| 精品一区二区三人妻视频| 看免费的无码区特aa毛片| 成人区人妻精品一区二蜜臀| 国产精品亚洲一区二区三区 | jizz视频在线观看| 亚洲欧美偷国产日韩| 青草青草久热精品视频在线播放| 国产99视频精品免费视频76| 中文字幕乱码熟女人妻水蜜桃 | 白白色发布永久免费观看视频| 久久一区二区中文字幕| 1024你懂的国产精品| 国产精品久久人人做人人爽| 国产精品无码无卡在线播放| 色综合一本到久久亚洲91| 日韩精品无码去免费专区 | 狠狠色综合久久丁香婷婷| 中文字幕人妻色偷偷久久| 日韩人妻无码精品久久| 91精品国产老熟女在线| 亚洲国产高清精品线久久| 最新偷拍一区二区三区| 亚洲国产欧美一区二区好看电影| 尤物国精品午夜福利视频| 人妻聚色窝窝人体WWW一区| 久久这里只精品国产2| 情欲少妇人妻100篇| 精品尤物TV福利院在线网站| 国产成人精品久久性色av| 男人又大又硬又粗视频| 洞头县|