記憶體隨著計算機「飛入尋常百姓家」,逐漸的介入人們的生活……
魔獸世界的fans:我的記憶體不夠,玩不了魔獸……
古墓麗影的fans:我的記憶體不足,跑不了古墓……
1.記憶體是什麼玩意?
2.記憶體的訪問機制是怎樣?
3.記憶體的大小限制是是什麼?
4.記憶體常見相關問題。
1.記憶體是什麼玩意?
在早期的計算機,使用cpu的暫存器來儲存資料,如eniac,那時候的計算機還是電路,很多電阻、電容、電感……到了後來
出現積體電路,這些電子元件微型化整合到一片小小的半導體矽中,速度有很大提高,但是**也隨之飛公升,為了緩和儲存危
機,人們把不常訪問的資料放在外部的儲存器中,於是出現了記憶體。記憶體的本質仍然是電路(積體電路)。
2.記憶體的訪問機制是怎樣?
在16位時代(dos時代)8086的cpu中,位址線是20位,能夠表示的範圍是2的20次方=1m,cpu將段暫存器,如堆疊段ss
給出的段值,加上段內偏移,如堆疊指標sp,組合成20位的實際位址。cpu就能夠訪問這個記憶體單元……
在32位時代,80386以上的cpu中,位址線是32位,能夠直接定址2的32次方=4g的記憶體空間,然而如果用這個位址線去直接
定址記憶體單元需要在實方式下,也就是8086方式下,這時仍然用20位去定址,也就是只能識別1m記憶體……
大家不要認為掉牙,當電腦關機重啟,就是進入這個模式下,當作業系統啟動才會做其他操作,進入保護模式執行。
而所謂的保護模式,也採用記憶體分段的方式,用段值加上偏移得到乙個線性位址,這個線性位址在非分頁方式下,它就是乙個
實體地址,即確確實實的記憶體單元;而在分頁模式下,將更加複雜,但是它為模組化程式設計等提供了強有力的幫助,限於水
平問題(因為不能保證我的理解是正確的,不想誤導人,呵呵),就不說了。
但是無論是否分頁,段內偏移都有2的32次方=4g的空間,也就是我們所說程式虛擬的4g空間的來由……
這些文本性的東西太多,我相信有人打瞌睡了……
3.記憶體大小的限制是什麼?
我們還是來看幾張吧,第一張是windows xp 32位下 4g記憶體的截圖
這是我的個人計算機,4g內存在windows下,只能識別除3.25g,那些所謂的ramdisk並不能從根本上解決問題,早在去年之
前,我曾為這個問題苦惱不久,還試圖裝過win2003來家用,甚至是windows xp x64版本(該版本不錯,但是不相容此前多數
的32位程式)
另外一台更強大的,關係伺服器安全問題,也不貼出來。呵呵……
在這裡,還引發另外乙個概念:虛擬記憶體,這個東西在不同情況下有不同的意義。在windows下,他是被當做應急使用的硬碟空
間(硬碟做永久儲存用的,也可以緩解記憶體的使用危機,隨著記憶體效能提公升和成本降低,意義不大了),如圖:
在對應碟符下,會有乙個pagefile.sys的隱藏檔案,刪也刪不掉,那麼大,又不知道幹嘛。呵呵,虛擬記憶體(頁面檔案)是可以禁用
的,不過沒什麼意義,這裡就不說怎麼搞了。
而在硬體檢測軟體everest中,這個名稱卻是這樣:
圖中物理記憶體當然是記憶體條上的空間了,交換區則是物理記憶體加上頁面檔案的總數,而虛擬記憶體則是交換區加上物理記憶體的總數,
其實就是物理記憶體x2加上頁面檔案(也就是windows的虛擬記憶體)……
到這裡,你會發現記憶體的數值,被大塊大塊切掉了。
實際上,現在去追究windows xp 如何真正意義識別4g已經不重要了,64位即將到來,現在已經很多64位的雙核cpu,server還
有4核、6核、8核的,不久的將來,將能夠定址2的64次方=4g的4g次方大小的記憶體(這個只是偏移量,具體要看位址線數量)。
儲存空間的簡寫如下:
1kb=1024位元組
1mb=1024kb=1048576位元組
1gb=1024mb=1073741824位元組
1tb=1024gb=1099511627776位元組
1pb=1024tb=1125899906842624位元組
1eb=1024pb=1152921504606846976位元組
1zb=1024eb=1180591620717411303424位元組
1yb=1024zb=1208925819614629174706176位元組
2的64次方=18446744073709551616位元組,已經大於1eb了,只要位址線也是64位,……也許,威爾·史密斯那部《智慧型叛變》
的硬體基礎,馬上就要完成……
其實各個計算機部件:顯示卡,音效卡,網絡卡等等,都需要占用一定份額的記憶體,尤其是顯示卡,這裡就不詳細說了。
4.記憶體相關常見問題
記憶體故障,開機黑屏(也可能是顯示器沒開- -)或者報警(間歇長鳴),如果你的主機板有自檢指示燈,那麼它應該在c1停止,可以
初步認定是記憶體問題。多數是沒插好,鬆動,或者金手指磨損或氧化等等。
下面這樣的對話方塊:
說明記憶體訪問衝突,一般是緩衝區溢位等造成了,也可能是遠執行緒注入,遇到一些異常情況造成訪問不能訪問的記憶體位址
記憶體容量減半,如原本明明是2g,現在開機突然變1g,如果只有乙個記憶體條,那麼檢查是否是有金手指脫落,斷腳等,如果是兩條
應該檢查是否另外一條沒有插牢……
經常宕機,死掉了。防毒,先軟後硬,確認無毒,則檢查記憶體是否有單元損壞,有專門的記憶體檢測工具,很小的,有綠色版。
很多東西,時間問題,就不多說了;以上內容,有些是我幾年來總結的,沒有理論基礎,不對的地方,望諸位賢能之士批評指正。
就這麼多吧。
微處理器 微型計算機 微型計算機系統
本人是學習微機的時候寫的筆記,不喜勿噴。是大規模積體電路的cpu,是微型計算機的核心。微處理器包含三個部分 算術邏輯部件 alu 用來執行基本的算術運算和邏輯運算 暫存器 register cpu中有多個暫存器,稱為cpu暫存器。用來存放運算元 中間結果以及儲存運算結果的狀態標誌等。控制器 cu 具...
微型計算機的組成
微型計算機的組成 1.計算機的工作原理 計算機的是根據使用者的命令來工作的,使用者的命令一般通過程式來下達 1.1指令 用來指揮硬體動作的基本命令包含了操作碼和運算元的一串二進位制編碼。1.2程式 為解決某問題的一系列的指令集合 1.3軟體 程式 資料以及相應的文件說明 沒有安裝任何軟體的計算機稱之...
一。微型計算機基礎
1.微型計算機系統組成 微處理器是將運算器與控制器整合在一起 微型計算機是指以微處理器為核心,配上儲存器,輸入輸出介面電路等所組成的計算機 微型計算機系統是指以計算機為中心,配以相應的外圍裝置,電源和輔助電路及指揮計算機工作的系統軟體所構成的系統,即微型計算機系統是由硬體和軟體兩部分組成。微處理器是...