學習報名咨詢
  點擊發送消息給對方 251000035
  點擊發送消息給對方 136830676
在線課程輔導
  點擊發送消息給對方 251000035
推薦工作就業
  點擊發送消息給對方 765476665
出售教程教材
  點擊發送消息給對方 136830676
欧美性色欧美A在线视频
死機與內存的關系-海城市鑫海電腦學校|海城市鑫海電腦培訓學校|海城市鑫海計算機培訓學校|海城市專本科學歷|海城市電腦|海城市建筑裝潢|海城市機械制圖

平面設計專業、室內外設計專業、硬件組與裝維護、計算機網絡工程、平面應用創意、會計電算化等課程已開課?稍嚶牶,報名學習。
電話:0412--3182576
手機:15842034546
學校招生進行中。!


·遼寧理工成人教育招生
·遼寧理工學院招生專業
·UG NX三維機械、模具設計
·SolidWorks三維機械制圖
·3ds max室內效果圖表現
·AutoCAD建筑、機械三維
·AutoCAD建筑、機械二維
·3ds max室外建筑圖表現
·VRay渲染
·方正飛騰排版
·平面設計師
·室內外設計師
·硬件組裝與維護工程師
·動畫設計師
·影視后期合成師
·平面應用創意
·計算機網絡工程師
·會計電算化
·電腦基礎與office辦公
·網頁設計師
您最在意鑫海為您做些什么?
1.提供最優質的教學
2.提供滿意就業去向
3.提供理想學習環境
4.提供終身學習升級
5.無所謂有點說不清
 
 

死機與內存的關系
 
時間:2008/3/4 14:32:08 來源:administrator

從電腦出現至今就一直被死機伴隨著,幾乎沒有誰的電腦從不遭遇死機。在使用過程中,偶爾一次死機應該算是正,F象,如果經常死機,電腦就存在一定的問題了。那么,電腦為什么會死機呢?有哪些因素會造成電腦死機呢?要搞清楚這些問題,首先要弄清楚,到底什么是死機?為什么會發生死機?

  造成死機的原因是多種多樣的,有軟件問題,有硬件問題,不過,死機的本質都是一樣的。

  早在N年前,我主持某大學計算機專業本科生畢業答辯的時候,就向某學生提出過這樣兩個問題:

  1.電腦死機的時候,CPU在干什么(或者說,CPU處于什么狀態?)”

  2.在計算機中,無論指令代碼還是數據代碼,都是用二進制來表示的,請問,CPU是如何判定某二進制代碼是指令代碼還是數據代碼? //本文引用自www.45it.com電腦軟硬件應用網

  其實,上面兩個問題的實質是一樣的,主要涉及到CPU是如何取得指令和如何執行指令的,把這兩個問題搞清楚了,死機的問題也就容易理解了。

  首先來看看,馮.諾依曼結構的電腦是如何取得指令、又是如何執行指令的:

  馮.諾依曼(1903~1957),匈牙利裔數學家,1945年戈德斯坦、勃克斯等人,聯名發表了一篇長達101頁紙的報告,即計算機史上著名的“101頁報告”,提出了現代計算機結構的理論模型--存儲程序計算機模型(Stored Program Computer),這就是今天計算機最基本的原理模型。

  這種結構類型計算機工作的時候,首先必須把完成工作步驟和相關的數據用二進制代碼表示出來(編寫程序),然后再把它們保存在計算機的內存中,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倍以上(不知道為什么)。
·遼寧理工學院成人高等教育
·遼寧理工學院就業安排!
·遼寧理工學院招生專業!
·遼寧理工學院校園!
·遼寧理工學院簡介!
·電腦中的文件夾無法刪除解
·CPU相關知識。!
·市面售刻錄機挑選指南
·計算機病毒大全
·死機與內存的關系
·DM萬用版中文使用手冊
·市面售刻錄機挑選指南
·CPU相關知識。!
·我校學員可考取的權威IT
·我校學員實習、就業基地成
·平面設計專業就業前景分析
·幾分鐘讓你的系統也變正版
·[網絡]71種常見網絡故
·電腦中的文件夾無法刪除解
·英特爾發布最小功耗“凌動
 
Copyright © 2007 http://www.capoeiraartsinc.com/ All Rights Reserved | 海城市鑫海電腦學校|海城市鑫海電腦培訓學校|海城市鑫海計算機培訓學校|海城市專本科學歷|海城市電腦|海城市建筑裝潢|海城市機械制圖 版權所有
工業和信息化部ICP/IP備案:遼ICP備19013367號-1 遼公網安備案:遼公網安備21038102000030號 | 設計維護:張玉柱
校址:海城市新立轉盤! 郵編:114200  電話:0412--3182576 手機:15842034546  傳真:0412--3182576