歡迎訪問(wèn)拔筆兔范文大全網(wǎng)!

電腦死機(jī)和內(nèi)存的關(guān)系

天下 分享 時(shí)間: 加入收藏 我要投稿 點(diǎn)贊
首先來(lái)看看,馮.諾依曼結(jié)構(gòu)的電腦是如何取得指令、又是如何執(zhí)行指令的:

這種結(jié)構(gòu)類型計(jì)算機(jī)工作的時(shí)候,首先必須把完成工作步驟和相關(guān)的數(shù)據(jù)用二進(jìn)制代碼表示出來(lái)(編寫程序),然后再把它們保存在計(jì)算機(jī)的內(nèi)存中,CPU依次從內(nèi)存中讀相關(guān)的指令代碼和數(shù)據(jù)進(jìn)行運(yùn)算,直到完成整個(gè)運(yùn)算過(guò)程并輸出結(jié)果。

要完成這樣的運(yùn)算過(guò)程,人們?cè)谠O(shè)計(jì)運(yùn)算器(CPU)的時(shí)候,首先就要考慮的是,在一段內(nèi)存中,CPU怎樣區(qū)分指令代碼和數(shù)據(jù)代碼。熟悉計(jì)算機(jī)的人都清楚,指令用來(lái)確定“做什么”和“怎樣做”,數(shù)據(jù)是“做”的時(shí)候需要原始數(shù)。
比如:要計(jì)算機(jī)做1+2=?中,“+”表示要做什么和怎樣做,1和2則是做的時(shí)候需要的原始數(shù)。現(xiàn)在假設(shè)某CPU中,“+”用二進(jìn)制“00000001”來(lái)表示,“1、2”分別用“00000001、00000010”來(lái)表示。那么,這段程序存入內(nèi)存中就是這樣的:

XXXX1:00000001
XXXX2:00000001
XXXX3:00000010 前面的XXXX1 XXXX2 XXXX3表示內(nèi)存的地址

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

1.人們把內(nèi)存的某個(gè)地址規(guī)定為起始地址(又稱為復(fù)位地址),也就是說(shuō),當(dāng)計(jì)算機(jī)開(kāi)機(jī)或者被強(qiáng)行復(fù)位(也就是機(jī)箱上那個(gè)重啟動(dòng)按鈕按下的的時(shí)候),CPU立即跳轉(zhuǎn)到這個(gè)地址中,并且把它里面的代碼作為指令來(lái)執(zhí)行,同時(shí)根據(jù)這個(gè)指令的長(zhǎng)度和格式判斷下一條指令在什么地方。

對(duì)于X86系列CPU(也就是現(xiàn)在人們常用的什么奔XX、賽XX系列),它的復(fù)位地址是FFFF0,如果表示成邏輯地址則是:FFFF:0000。對(duì)DEBUG比較熟悉的朋友或者會(huì)在一些高級(jí)語(yǔ)言中嵌入?yún)R編語(yǔ)言的朋友可以這樣做一個(gè)試驗(yàn):

用DEBUG執(zhí)行一條指令(這是一條無(wú)條件跳轉(zhuǎn)指令):jmp FFFF:0000,或者在高級(jí)語(yǔ)言中嵌入這條匯編指令,執(zhí)行后,你就會(huì)發(fā)現(xiàn),計(jì)算機(jī)重新啟動(dòng)了。其實(shí),用程序控制計(jì)算機(jī)重啟的最本質(zhì)的操作就是這樣的。

2.給各種指令規(guī)定了相應(yīng)的長(zhǎng)度和格式。比如:某數(shù)+某數(shù)這條指令就規(guī)定:這條指令的長(zhǎng)度是3個(gè)字節(jié),其中第一個(gè)字節(jié)表示“+”,后面兩個(gè)字節(jié)表示被加數(shù)和加數(shù)。于是,當(dāng)CPU到達(dá)這個(gè)指令后,就自動(dòng)把第一個(gè)代碼作為指令,后面兩個(gè)代碼作為數(shù)據(jù),依次類推,第4個(gè)代碼就必然是指令.....

現(xiàn)在假設(shè),CPU在執(zhí)行指令的時(shí)候因某種原因,誤把本來(lái)是數(shù)據(jù)的代碼當(dāng)成了指令,結(jié)果除了是計(jì)算結(jié)果出錯(cuò)外死機(jī)也就是必然的了。

還是以前面那個(gè)加法程序?yàn)槔寒?dāng)CPU把第三個(gè)代碼(也就是00000010)當(dāng)成了指令,而恰好這個(gè)代碼是一跳轉(zhuǎn)指令,CPU的執(zhí)行結(jié)果將是:XXXX3--跳轉(zhuǎn)--執(zhí)行--跳轉(zhuǎn)--執(zhí)行........進(jìn)入周而復(fù)始的亂條,不過(guò)注意,雖然是在亂跳,CPU卻始終是在不停的正常地執(zhí)行指令,所謂的“亂”是對(duì)用戶而言,對(duì)CPU來(lái)說(shuō)卻是正常的。

還有一種情況就是,如果恰好跳轉(zhuǎn)到了FFFF:0000這個(gè)地址,計(jì)算機(jī)便重新啟動(dòng)了。呵呵,,這下搞清楚了為什么計(jì)算機(jī)有時(shí)會(huì)“莫名其妙地重啟”了把。

有朋友可能會(huì)問(wèn),內(nèi)存中怎么可能有如此多的跳轉(zhuǎn)指令呢?是怎么形成的呢?

計(jì)算機(jī)中的最小存儲(chǔ)單位是字節(jié)(8個(gè)二進(jìn)制位),指令功能、長(zhǎng)度和格式也是在一個(gè)字節(jié)中規(guī)定的。因此,平均來(lái)說(shuō),每256個(gè)代碼中就有可能出現(xiàn)一條跳轉(zhuǎn)指令(8位二進(jìn)制數(shù)最多表示256)。

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

內(nèi)存的啟動(dòng)監(jiān)測(cè)問(wèn)題,計(jì)算機(jī)在開(kāi)機(jī)的時(shí)候會(huì)對(duì)內(nèi)存進(jìn)行檢測(cè),這種檢測(cè)的方法不外乎有如下一些:

1.最簡(jiǎn)單的檢測(cè)方法:把內(nèi)存從頭到尾讀一遍,能夠讀出數(shù)據(jù)便認(rèn)為內(nèi)存正確。

2.稍微復(fù)雜一些的檢測(cè)方法:把內(nèi)存從頭到尾讀、寫一遍,能夠讀寫數(shù)據(jù)便認(rèn)為內(nèi)存正確。

3.再?gòu)?fù)雜一些的檢測(cè)方法:把內(nèi)存從頭到尾讀、寫數(shù)遍能夠讀寫數(shù)據(jù)便認(rèn)為內(nèi)存正確。

4.簡(jiǎn)單的校驗(yàn)檢測(cè)方法:把內(nèi)存從頭到尾讀、寫數(shù)遍,讀出的數(shù)據(jù)和寫入的數(shù)據(jù)進(jìn)行比較,能夠讀寫、并且讀的數(shù)據(jù)和寫的數(shù)據(jù)相同,則認(rèn)為內(nèi)存正確

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

微信掃碼領(lǐng)取福利

微信掃碼分享

主站蜘蛛池模板: 亚洲人成人77777网站| 亚洲一级黄色片| 草莓视频丝瓜视频-丝瓜视18岁苹果免费网| 欧美性猛交xxxx免费看蜜桃| 国产va精品免费观看| 337p日本欧洲亚洲大胆精品555588 | 黄色福利小视频| 插插插综合视频| 亚洲国产精品一区二区三区在线观看| 美国式禁忌矿桥| 国产无遮挡又黄又爽免费网站 | 国内精品九九久久久精品| 亚洲中文字幕在线观看| 精东传媒国产app| 国产午夜无码片在线观看| 一个人的突击队3电影在线观看| 正在播放国产美人| 啊快捣烂了啦h男男开荤粗漫画| 亚洲精品视频在线观看你懂的| 日本高清乱理论片| 免费看片A级毛片免费看| 2o18国产大陆天天弄| 性色欲网站人妻丰满中文久久不卡| 久久综合88熟人妻| 武则天一边上朝一边做h| 午夜一级免费视频| 韩国三级电影网| 国产精品亚洲а∨天堂2021| japanese日本护士xxxx18一19| 欧美jizz18性欧美年轻| 又黄又爽无遮挡免费视频| 黄色网站在线免费观看| 天天躁日日躁狠狠躁日日躁| 久久99精品视频| 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲人成网站看在线播放| 成年网站在线播放| 亚洲欧美日韩精品久久| 色噜噜狠狠一区二区三区| 国产成人污污网站在线观看| gogo全球高清大胆啪啪|