歡迎訪問拔筆兔范文大全網!

電腦死機和內存的關系

天下 分享 時間: 加入收藏 我要投稿 點贊
首先來看看,馮.諾依曼結構的電腦是如何取得指令、又是如何執行指令的:

這種結構類型計算機工作的時候,首先必須把完成工作步驟和相關的數據用二進制代碼表示出來(編寫程序),然后再把它們保存在計算機的內存中,CPU依次從內存中讀相關的指令代碼和數據進行運算,直到完成整個運算過程并輸出結果。

要完成這樣的運算過程,人們在設計運算器(CPU)的時候,首先就要考慮的是,在一段內存中,CPU怎樣區分指令代碼和數據代碼。熟悉計算機的人都清楚,指令用來確定“做什么”和“怎樣做”,數據是“做”的時候需要原始數。
比如:要計算機做1+2=?中,“+”表示要做什么和怎樣做,1和2則是做的時候需要的原始數?,F在假設某CPU中,“+”用二進制“00000001”來表示,“1、2”分別用“00000001、00000010”來表示。那么,這段程序存入內存中就是這樣的:

XXXX1:00000001
XXXX2:00000001
XXXX3:00000010 前面的XXXX1 XXXX2 XXXX3表示內存的地址

從上面可以看出,“+”指令和被加數是完全相同的,當然,這是我故意這樣假設的,但是,在實際情況中,這種情況是大量存在的。在正常情況下,CPU只能把XXXX1內存中的00000001作為指令,XXXX2內存中的00000001作為被加數才能得到正確的結果。那么CPU如何才能做到不把第二個00000001也當成“+”呢?

1.人們把內存的某個地址規定為起始地址(又稱為復位地址),也就是說,當計算機開機或者被強行復位(也就是機箱上那個重啟動按鈕按下的的時候),CPU立即跳轉到這個地址中,并且把它里面的代碼作為指令來執行,同時根據這個指令的長度和格式判斷下一條指令在什么地方。

對于X86系列CPU(也就是現在人們常用的什么奔XX、賽XX系列),它的復位地址是FFFF0,如果表示成邏輯地址則是:FFFF:0000。對DEBUG比較熟悉的朋友或者會在一些高級語言中嵌入匯編語言的朋友可以這樣做一個試驗:

用DEBUG執行一條指令(這是一條無條件跳轉指令):jmp FFFF:0000,或者在高級語言中嵌入這條匯編指令,執行后,你就會發現,計算機重新啟動了。其實,用程序控制計算機重啟的最本質的操作就是這樣的。

2.給各種指令規定了相應的長度和格式。比如:某數+某數這條指令就規定:這條指令的長度是3個字節,其中第一個字節表示“+”,后面兩個字節表示被加數和加數。于是,當CPU到達這個指令后,就自動把第一個代碼作為指令,后面兩個代碼作為數據,依次類推,第4個代碼就必然是指令.....

現在假設,CPU在執行指令的時候因某種原因,誤把本來是數據的代碼當成了指令,結果除了是計算結果出錯外死機也就是必然的了。

還是以前面那個加法程序為例:當CPU把第三個代碼(也就是00000010)當成了指令,而恰好這個代碼是一跳轉指令,CPU的執行結果將是:XXXX3--跳轉--執行--跳轉--執行........進入周而復始的亂條,不過注意,雖然是在亂跳,CPU卻始終是在不停的正常地執行指令,所謂的“亂”是對用戶而言,對CPU來說卻是正常的。

還有一種情況就是,如果恰好跳轉到了FFFF:0000這個地址,計算機便重新啟動了。呵呵,,這下搞清楚了為什么計算機有時會“莫名其妙地重啟”了把。

有朋友可能會問,內存中怎么可能有如此多的跳轉指令呢?是怎么形成的呢?

計算機中的最小存儲單位是字節(8個二進制位),指令功能、長度和格式也是在一個字節中規定的。因此,平均來說,每256個代碼中就有可能出現一條跳轉指令(8位二進制數最多表示256)。

還有一種情況:現在計算機的內存已經達到數G的存儲容量,絕大多數都不可能用到這個極限,也就是說,有相當長一段區域是空白,即使內存只有數百M的計算機中也不可能把內存用完,同樣存在相當數量的空白區域。特別需要注意的是,空白區域不等于里面就沒有代碼。因為,在數字邏輯電路中,不可能存在“沒有”這種情況,即使是表示沒有(叫做“空”--NULL)也是要用一個代碼來表示的(NULL用00000000)來表示,所以,空白區域內的代碼是“11111111”或者干脆就是一些隨機代碼。X86系列的CPU“11111111”是一條單字節的指令nop--空操作指令,當CPU跳轉到這些空白區域時,雖然不會發生再次跳轉的現象,CPU也會逐條執行這些代碼,執行到最后一個內存后,CPU將會回到內存的0號起始地方然后又從頭開始執行程序。 有朋友問了,如果硬盤出錯會不會死機呢?這個問題要這樣看。CPU從硬盤中調入數據的時候會對硬盤數據做比較嚴格的校驗(一般是CRC--循環冗余校驗),如果校驗成功,則不會死機,如果校驗失敗,CPU會給予用戶提示“校驗失敗或者文件損壞”--當然也不會死機;只有在硬盤上的文件已經損壞,硬盤把數據傳給CPU的時候“自己沒有發現”造成的數據混亂。所以,硬盤數據損壞后,只能造成數據丟失,無法執行程序,也可能無法啟動計算機。不過,有一種情況例外,那就是硬盤上的某區域做成的虛擬內存,如果這個區域損壞是有可能死機。

內存的啟動監測問題,計算機在開機的時候會對內存進行檢測,這種檢測的方法不外乎有如下一些:

1.最簡單的檢測方法:把內存從頭到尾讀一遍,能夠讀出數據便認為內存正確。

2.稍微復雜一些的檢測方法:把內存從頭到尾讀、寫一遍,能夠讀寫數據便認為內存正確。

3.再復雜一些的檢測方法:把內存從頭到尾讀、寫數遍能夠讀寫數據便認為內存正確。

4.簡單的校驗檢測方法:把內存從頭到尾讀、寫數遍,讀出的數據和寫入的數據進行比較,能夠讀寫、并且讀的數據和寫的數據相同,則認為內存正確

5.比較復雜的校驗檢測方法:對內存讀寫的數據同時進行奇偶校驗和CRC校驗,這種方法多用于高檔服務器,同時,能夠做奇偶校驗的內存(ECC內存)價格比普通內存貴10倍以上(不知道為什么)。
電商運營 信息流廣告 網絡推廣 周易 易經 代理招生 二手車 網絡營銷 旅游攻略 非物質文化遺產 查字典 社區團購 精雕圖 戲曲下載 抖音代運營 易學網 互聯網資訊 成語 成語故事 詩詞 工商注冊 注冊公司 抖音帶貨 云南旅游網 網絡游戲 代理記賬 短視頻運營 在線題庫 國學網 知識產權 抖音運營 雕龍客 雕塑 奇石 散文 自學教程 常用文書 河北生活網 好書推薦 游戲攻略 心理測試 石家莊人才網 考研真題 漢語知識 心理咨詢 手游安卓版下載 興趣愛好 網絡知識 十大品牌排行榜 商標交易 單機游戲下載 短視頻代運營 寶寶起名 范文網 電商設計 免費發布信息 服裝服飾 律師咨詢 搜救犬 Chat GPT中文版 經典范文 優質范文 工作總結 二手車估價 實用范文 古詩詞 衡水人才網 石家莊點痣 養花 名酒回收 石家莊代理記賬 女士發型 搜搜作文 石家莊人才網 鋼琴入門指法教程 詞典 圍棋 chatGPT 讀后感 玄機派 企業服務 法律咨詢 chatGPT國內版 chatGPT官網 勵志名言 河北代理記賬公司 文玩 語料庫 游戲推薦 男士發型 高考作文 PS修圖 兒童文學 買車咨詢 工作計劃 禮品廠 舟舟培訓 IT教程 手機游戲推薦排行榜 暖通,電地暖, 女性健康 苗木供應 ps素材庫 短視頻培訓 優秀個人博客 包裝網 創業賺錢 養生 民間借貸律師 綠色軟件 安卓手機游戲 手機軟件下載 手機游戲下載 單機游戲大全 免費軟件下載 石家莊論壇 網賺 手游下載 游戲盒子 職業培訓 資格考試 成語大全 英語培訓 藝術培訓 少兒培訓 苗木網 雕塑網 好玩的手機游戲推薦 漢語詞典 中國機械網 美文欣賞 紅樓夢 道德經 標準件 電地暖 網站轉讓 鮮花 書包網 英語培訓機構
46557
領取福利

微信掃碼領取福利

微信掃碼分享

主站蜘蛛池模板: 国产综合久久久久鬼色| 无码精品a∨在线观看无广告| 最近免费中文字幕中文高清| 国产又长又粗又爽免费视频| 久久精品国产亚洲av忘忧草18 | 狠狠躁夜夜躁人人爽天天不| 国产精品国语自产拍在线观看| 亚洲欧美成人一区二区在线电影 | 免费观看的黄色网址| 18pao国产成视频永久免费| 日本一区二区三区在线观看视频 | 男人桶女人视频不要下载| 国产真实伦正在播放| 久久精品国产99久久丝袜| 精品亚洲综合久久中文字幕| 国产精品免费_区二区三区观看 | 欧美xxxx做受性欧美88| 午夜老司机永久免费看片| 337p日本欧洲亚洲大胆色噜噜| 无码一区二区三区在线| 亚洲欧美中文字幕在线网站| 色与欲影视天天看综合网| 国产精品麻豆va在线播放| 中文字幕精品一区二区精品| 窝窝午夜看片国产精品人体宴| 在线中文字幕网| 久久不见久久见免费影院www日本| 波多野结衣一区二区三区| 国产乱码精品一区二区三| 91精品国产一区二区三区左线| 日本一区免费观看| 亚洲成人免费网址| 香蕉97超级碰碰碰碰碰久| 搡女人免费免费视频观看| 亚洲成a人片在线观看久| 红杏出墙电影在线观看| 国产欧美在线不卡| av在线亚洲男人的天堂| 日产码一卡二卡三国产乱码| 亚洲美女大bbbbbbbbb| 中文字幕三级久久久久久|