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

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

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

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

要完成這樣的運(yùn)算過程,人們?cè)谠O(shè)計(jì)運(yùn)算器(CPU)的時(shí)候,首先就要考慮的是,在一段內(nèi)存中,CPU怎樣區(qū)分指令代碼和數(shù)據(jù)代碼。熟悉計(jì)算機(jī)的人都清楚,指令用來確定“做什么”和“怎樣做”,數(shù)據(jù)是“做”的時(shí)候需要原始數(shù)。
比如:要計(jì)算機(jī)做1+2=?中,“+”表示要做什么和怎樣做,1和2則是做的時(shí)候需要的原始數(shù)。現(xiàn)在假設(shè)某CPU中,“+”用二進(jìn)制“00000001”來表示,“1、2”分別用“00000001、00000010”來表示。那么,這段程序存入內(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ù)位地址),也就是說,當(dāng)計(jì)算機(jī)開機(jī)或者被強(qiáng)行復(fù)位(也就是機(jī)箱上那個(gè)重啟動(dòng)按鈕按下的的時(shí)候),CPU立即跳轉(zhuǎn)到這個(gè)地址中,并且把它里面的代碼作為指令來執(zhí)行,同時(shí)根據(jù)這個(gè)指令的長(zhǎng)度和格式判斷下一條指令在什么地方。

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

用DEBUG執(zhí)行一條指令(這是一條無條件跳轉(zhuǎn)指令):jmp FFFF:0000,或者在高級(jí)語言中嵌入這條匯編指令,執(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í)候因某種原因,誤把本來是數(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ù)始的亂條,不過注意,雖然是在亂跳,CPU卻始終是在不停的正常地執(zhí)行指令,所謂的“亂”是對(duì)用戶而言,對(duì)CPU來說卻是正常的。

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

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

計(jì)算機(jī)中的最小存儲(chǔ)單位是字節(jié)(8個(gè)二進(jìn)制位),指令功能、長(zhǎng)度和格式也是在一個(gè)字節(jié)中規(guī)定的。因此,平均來說,每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è)極限,也就是說,有相當(dāng)長(zhǎng)一段區(qū)域是空白,即使內(nèi)存只有數(shù)百M(fèi)的計(jì)算機(jī)中也不可能把內(nèi)存用完,同樣存在相當(dāng)數(shù)量的空白區(qū)域。特別需要注意的是,空白區(qū)域不等于里面就沒有代碼。因?yàn)椋跀?shù)字邏輯電路中,不可能存在“沒有”這種情況,即使是表示沒有(叫做“空”--NULL)也是要用一個(gè)代碼來表示的(NULL用00000000)來表示,所以,空白區(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)起始地方然后又從頭開始執(zhí)行程序。 有朋友問了,如果硬盤出錯(cuò)會(huì)不會(huì)死機(jī)呢?這個(gè)問題要這樣看。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í)候“自己沒有發(fā)現(xiàn)”造成的數(shù)據(jù)混亂。所以,硬盤數(shù)據(jù)損壞后,只能造成數(shù)據(jù)丟失,無法執(zhí)行程序,也可能無法啟動(dòng)計(jì)算機(jī)。不過,有一種情況例外,那就是硬盤上的某區(qū)域做成的虛擬內(nèi)存,如果這個(gè)區(qū)域損壞是有可能死機(jī)。

內(nèi)存的啟動(dòng)監(jiān)測(cè)問題,計(jì)算機(jī)在開機(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) 信息流廣告 網(wǎng)絡(luò)推廣 周易 易經(jīng) 代理招生 二手車 網(wǎng)絡(luò)營(yíng)銷 旅游攻略 非物質(zhì)文化遺產(chǎn) 查字典 社區(qū)團(tuán)購(gòu) 精雕圖 戲曲下載 抖音代運(yùn)營(yíng) 易學(xué)網(wǎng) 互聯(lián)網(wǎng)資訊 成語 成語故事 詩(shī)詞 工商注冊(cè) 注冊(cè)公司 抖音帶貨 云南旅游網(wǎng) 網(wǎng)絡(luò)游戲 代理記賬 短視頻運(yùn)營(yíng) 在線題庫(kù) 國(guó)學(xué)網(wǎng) 知識(shí)產(chǎn)權(quán) 抖音運(yùn)營(yíng) 雕龍客 雕塑 奇石 散文 自學(xué)教程 常用文書 河北生活網(wǎng) 好書推薦 游戲攻略 心理測(cè)試 石家莊人才網(wǎng) 考研真題 漢語知識(shí) 心理咨詢 手游安卓版下載 興趣愛好 網(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í)用范文 古詩(shī)詞 衡水人才網(wǎng) 石家莊點(diǎn)痣 養(yǎng)花 名酒回收 石家莊代理記賬 女士發(fā)型 搜搜作文 石家莊人才網(wǎng) 鋼琴入門指法教程 詞典 圍棋 chatGPT 讀后感 玄機(jī)派 企業(yè)服務(wù) 法律咨詢 chatGPT國(guó)內(nèi)版 chatGPT官網(wǎng) 勵(lì)志名言 河北代理記賬公司 文玩 語料庫(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ī)游戲大全 免費(fèi)軟件下載 石家莊論壇 網(wǎng)賺 手游下載 游戲盒子 職業(yè)培訓(xùn) 資格考試 成語大全 英語培訓(xùn) 藝術(shù)培訓(xùn) 少兒培訓(xùn) 苗木網(wǎng) 雕塑網(wǎng) 好玩的手機(jī)游戲推薦 漢語詞典 中國(guó)機(jī)械網(wǎng) 美文欣賞 紅樓夢(mèng) 道德經(jīng) 標(biāo)準(zhǔn)件 電地暖 網(wǎng)站轉(zhuǎn)讓 鮮花 書包網(wǎng) 英語培訓(xùn)機(jī)構(gòu)
46557
領(lǐng)取福利

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

微信掃碼分享

主站蜘蛛池模板: 向日葵视频app免费下载| 国产大尺度吃奶无遮无挡网| 久久婷婷电影网| 精品国产免费一区二区三区| 国色天香精品一卡2卡3卡| 么公的又大又深又硬想要| 精品国产污污免费网站入口| 国产精品自产拍高潮在线观看| 久久无码精品一区二区三区 | 亚洲欧洲精品成人久久曰影片| 高清永久免费观看| 天天视频一区二区三区| 亚洲av无码不卡久久| 精品无码三级在线观看视频| 国产精品免费视频网站| 中国男同videos| 欧美乱xxxxxxxxx| 又紧又大又爽精品一区二区| 男女抽搐动态图| 青青青国产视频| 天天插天天狠天天透| 久久无码精品一区二区三区| 狠狠久久永久免费观看| 国产亚洲综合一区二区三区| 999精品久久久中文字幕蜜桃| 日本免费的一级v一片| 亚洲精品韩国美女在线| 被两个同桌绑起来玩乳动态gif| 国内精品久久久久久影院| 中文字幕在线观看一区二区| 欧美亚洲另类视频| 免费一级特黄特色大片在线| 黄色一级大片儿| 国产黄三级三·级三级| 中文字幕丰满乱孑伦无码专区| 欧美XXXX做受欧美1314| 伊人久久大香线蕉avapp下载| 金8国欧美系列在线| 国产精品对白刺激久久久| 一本色道久久88亚洲精品综合| 日韩在线观看高清|