A. 請教一個內存的問題。謝謝!
作為PC不可缺少的重要核心部件——內存,它伴隨著DIY硬體走過了多年歷程。從286時代的30pin SIMM內存、486時代的72pin SIMM 內存,到Pentium時代的EDO DRAM內存、PII時代的SDRAM內存,到P4時代的DDR內存和目前9X5平台的DDR2內存。內存從規格、技術、匯流排帶寬等不斷更新換代。不過我們有理由相信,內存的更新換代可謂萬變不離其宗,其目的在於提高內存的帶寬,以滿足CPU不斷攀升的帶寬要求、避免成為高速CPU運算的瓶頸。那麼,內存在PC領域有著怎樣的精彩人生呢?下面讓我們一起來了解內存發展的歷史吧。
一、歷史起源——內存條概念
如果你細心的觀察,顯存(或緩存)在目前的DIY硬體上都很容易看到,顯卡顯存、硬碟或光碟機的緩存大小直接影響到設備的性能,而寄存器也許是最能代表PC硬體設備離不開RAM的,的確如此,如果沒有內存,那麼PC將無法運轉,所以內存自然成為DIY用戶討論的重點話題。
在剛剛開始的時候,PC上所使用的內存是一塊塊的IC,要讓它能為PC服務,就必須將其焊接到主板上,但這也給後期維護帶來的問題,因為一旦某一塊內存IC壞了,就必須焊下來才能更換,由於焊接上去的IC不容易取下來,同時加上用戶也不具備焊接知識(焊接需要掌握焊接技術,同時風險性也大),這似乎維修起來太麻煩。
因此,PC設計人員推出了模塊化的條裝內存,每一條上集成了多塊內存IC,同時在主板上也設計相應的內存插槽,這樣內存條就方便隨意安裝與拆卸了(如圖1),內存的維修、升級都變得非常簡單,這就是內存「條」的來源。
小帖士:內存(Random Access Memory,RAM)的主要功能是暫存數據及指令。我們可以同時寫數據到RAM 內存,也可以從RAM 讀取數據。由於內存歷來都是系統中最大的性能瓶頸之一,因此從某種角度而言,內存技術的改進甚至比CPU 以及其它技術更為令人激動。
……………………
以上未完部分,我不轉貼了,在下面的網址,我個人認為是非常全面的了:
http://www.incpc.net/Html/histroy/20060907817.html
給你一點參考吧,雖然我不支持寫論文從網上搬點東西來。
DOS操作系統最早設計時,PC機的硬體系統只支持1M位元組的定址空間,所以DOS只能管理最多1M位元組的連續內存空間。在這1M內存中,又只有640K被留給應用程序使用,它們被稱為常規內存或基本內存,其它384K被稱為高端內存,是留給視頻顯示和BIOS等使用的。在1982年,640K內存對微型計算機來說顯得綽綽有餘,人們甚至認為,640K的內存可以用來干任何事。現在看起來有些可笑,但在當時,情況確實如此。
現在的情況是,即使你的電腦裝有幾兆或幾十兆內存,但如果你使用DOS操作系統,那麼你也只有640K的內存可以直接使用,1M以上的內存要通過一些內存管理工具才能使用。值得慶幸的是,Windows 95已經不存在常規內存的限制了,你所有的內存,不管是8M還是128M,都可以被直接使用。
在DOS下,系統中存在以下四種內存:
常規內存(Conventional Memory);
高端內存(Upper Memory);
擴充內存(Expanded Memory);
擴展內存(Extended Memory)。
常規內存指的是0-640K的內存區。在DOS下,一般的應用程序只能使用系統的常規內存,因而都要受到640KB內存的限制。而且由於DOS本身和config.sys文件中的安裝的設備驅動程序和autoexec.bat文件中執行的內存駐留程序都要佔用一些常規內存,所以應用程序能使用的常規內存是不到640K的。有很多時候,我們都要想方設法地整理內存,好為一些「胃口」比較大的應用程序留出足夠的常規內存,這一點想必是許多DOS時代的電腦愛好者最熟悉不過的了。
高端內存是指位於常規內存之上的384K內存。程序一般不能使用這個內存區域,但是EMM386.exe可以激活高端內存的一部分,並且它允許用戶將某些設備驅動程序和用戶程序用Devicehigh或LH(即loadhigh)裝入高端內存。dos=high,umb也是把DOS的一部分裝到高端內存里。這里的umb是高端內存塊(Upper Memory Block)的縮寫。
擴充內存是一種早期的增加內存的標准,最多可擴充到32M。使用擴充內存必須在計算機中安裝專門的擴充內存板,而且還要安裝管理擴充內存板的管理程序。由於擴充內存是在擴展內存之前推出的,所以大多數程序都被設計成能使用擴充內存,而不能使用擴展內存。由於擴充內存使用起來比較麻煩,所以在擴展內存出現後不久就被淘汰了。
擴展內存只能用在80286或更高檔次的機器上,目前幾乎所有使用DOS的機器上超過1M的內存都是擴展內存。擴展內存同樣不能被DOS直接使用,DOS5.0以後提供了Himem.sys這個擴展內存管理程序,我們可以通過它來管理擴展內存。emm386.exe可以把擴展內存(XMS)模擬成擴充內存(EMS),以滿足一些要求使用擴充內存的程序。
最後再強調一下,不管擴充內存或擴展內存有多大,DOS的應用程序只能在常規內存下運行。有的程序可以通過DOS擴展器(比如DOS4GW.exe等程序)使CPU進入保護模式,從而直接訪問擴展內存;但是要注意,進入保護模式以後,計算機就脫離了DOS狀態。
在計算機的組成結構中,有一個很重要的部分,就是存儲器。存儲器是用來存儲程序和數據的部件,對於計算機來說,有了存儲器,才有記憶功能,才能保證正常工作。存儲器的種類很多,按其用途可分為主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存).內存在電腦中起著舉足輕重的作用。內存一般採用半導體存儲單元,包括隨機存儲器(RAM),只讀存儲器(ROM),以及高速緩存(CACHE)。只不過因為RAM是其中最重要的存儲器。S(SYSNECRONOUS)DRAM 同步動態隨機存取存儲器:SDRAM為168腳,這是目前PENTIUM及以上機型使用的內存。SDRAM將CPU與RAM通過一個相同的時鍾鎖在一起,使CPU和RAM能夠共享一個時鍾周期,以相同的速度同步工作,每一個時鍾脈沖的上升沿便開始傳遞數據,速度比EDO內存提高50%。DDR(DOUBLE DATA RAGE)RAM :SDRAM的更新換代產品,他允許在時鍾脈沖的上升沿和下降沿傳輸數據,這樣不需要提高時鍾的頻率就能加倍提高SDRAM的速度。
●內存
內存就是存儲程序以及數據的地方,比如當我們在使用WPS處理文稿時,當你在鍵盤上敲入字元時,它就被存入內存中,當你選擇存檔時,內存中的數據才會被存入硬(磁)盤。在進一步理解它之前,還應認識一下它的物理概念。
●只讀存儲器(ROM)
ROM表示只讀存儲器(Read Only Memory),在製造ROM的時候,信息(數據或程序)就被存入並永久保存。這些信息只能讀出,一般不能寫入,即使機器掉電,這些數據也不會丟失。ROM一般用於存放計算機的基本程序和數據,如BIOS ROM。其物理外形一般是雙列直插式(DIP)的集成塊。
●隨機存儲器(RAM)
隨機存儲器(Random Access Memory)表示既可以從中讀取數據,也可以寫入數據。當機器電源關閉時,存於其中的數據就會丟失。我們通常購買或升級的內存條就是用作電腦的內存,內存條(SIMM)就是將RAM集成塊集中在一起的一小塊電路板,它插在計算機中的內存插槽上,以減少RAM集成塊佔用的空間。目前市場上常見的內存條有128M/條、256M/條、512M/條等。
●高速緩沖存儲器(Cache)
Cache也是我們經常遇到的概念,它位於CPU與內存之間,是一個讀寫速度比內存更快的存儲器。當CPU向內存中寫入或讀出數據時,這個數據也被存儲進高速緩沖存儲器中。當CPU再次需要這些數據時,CPU就從高速緩沖存儲器讀取數據,而不是訪問較慢的內存,當然,如需要的數據在Cache中沒有,CPU會再去讀取內存中的數據。
當你理解了上述概念後,也許你會問,內存就是內存,為什麼又會出現各種內存名詞,這到底又是怎麼回事呢?
在回答這個問題之前,我們再來看看下面這一段。
物理存儲器和地址空間
物理存儲器和存儲地址空間是兩個不同的概念。但是由於這兩者有十分密切的關系,而且兩者都用B、KB、MB、GB來度量其容量大小,因此容易產生認識上的混淆。初學者弄清這兩個不同的概念,有助於進一步認識內存儲器和用好內存儲器。
物理存儲器是指實際存在的具體存儲器晶元。如主板上裝插的內存條和裝載有系統的BIOS的ROM晶元,顯示卡上的顯示RAM晶元和裝載顯示BIOS的ROM晶元,以及各種適配卡上的RAM晶元和ROM晶元都是物理存儲器。
存儲地址空間是指對存儲器編碼(編碼地址)的范圍。所謂編碼就是對每一個物理存儲單元(一個位元組)分配一個號碼,通常叫作「編址」。分配一個號碼給一個存儲單元的目的是為了便於找到它,完成數據的讀寫,這就是所謂的「定址」(所以,有人也把地址空間稱為定址空間)。
地址空間的大小和物理存儲器的大小並不一定相等。舉個例子來說明這個問題:某層樓共有17個房間,其編號為801~817。這17個房間是物理的,而其地址空間採用了三位編碼,其范圍是800~899共100個地址,可見地址空間是大於實際房間數量的。
對於386以上檔次的微機,其地址匯流排為32位,因此地址空間可達232即4GB。但實際上我們所配置的物理存儲器通常只有1MB、2MB、4MB、8MB、16MB、32MB等,遠小於地址空間所允許的范圍。
好了,現在可以解釋為什麼會產生諸如:常規內存、保留內存、上位內存、高端內存、擴充內存和擴展內存等不同內存類型。
各種內存概念
這里需要明確的是,我們討論的不同內存的概念是建立在定址空間上的。
IBM推出的第一台PC機採用的CPU是8088晶元,它只有20根地址線,也就是說,它的地址空間是1MB。
PC機的設計師將1MB中的低端640KB用作RAM,供DOS及應用程序使用,高端的384KB則保留給ROM、視頻適配卡等系統使用。從此,這個界限便被確定了下來並且沿用至今。低端的640KB就被稱為常規內存即PC機的基本RAM區。保留內存中的低128KB是顯示緩沖區,高64KB是系統BIOS(基本輸入/輸出系統)空間,其餘192KB空間留用。從對應的物理存儲器來看,基本內存區只使用了512KB晶元,佔用0000至80000這512KB地址。顯示內存區雖有128KB空間,但對單色顯示器(MDA卡)只需4KB就足夠了,因此只安裝4KB的物理存儲器晶元,佔用了B0000至B10000這4KB的空間,如果使用彩色顯示器(CGA卡)需要安裝16KB的物理存儲器,佔用B8000至BC000這16KB的空間,可見實際使用的地址范圍都小於允許使用的地址空間。
在當時(1980年末至1981年初)這么「大」容量的內存對PC機使用者來說似乎已經足夠了,但是隨著程序的不斷增大,圖象和聲音的不斷豐富,以及能訪問更大內存空間的新型CPU相繼出現,最初的PC機和MS-DOS設計的局限性變得越來越明顯。
1.什麼是擴充內存?
EMS工作原理
到1984年,即286被普遍接受不久,人們越來越認識到640KB的限制已成為大型程序的障礙,這時,Intel和Lotus,這兩家硬、軟體的傑出代表,聯手制定了一個由硬體和軟體相結合的方案,此方法使所有PC機存取640KB以上RAM成為可能。而Microsoft剛推出Windows不久,對內存空間的要求也很高,因此它也及時加入了該行列。
在1985年初,Lotus、Intel和Microsoft三家共同定義了LIM-EMS,即擴充內存規范,通常稱EMS為擴充內存。當時,EMS需要一個安裝在I/O槽口的內存擴充卡和一個稱為EMS的擴充內存管理程序方可使用。但是I/O插槽的地址線只有24位(ISA匯流排),這對於386以上檔次的32位機是不能適應的。所以,現在已很少使用內存擴充卡。現在微機中的擴充內存通常是用軟體如DOS中的EMM386把擴展內存模擬或擴充內存來使用。所以,擴充內存和擴展內存的區別並不在於其物理存儲器的位置,而在於使用什麼方法來讀寫它。下面將作進一步介紹。
前面已經說過擴充存儲器也可以由擴展存儲器模擬轉換而成。EMS的原理和XMS不同,它採用了頁幀方式。頁幀是在1MB空間中指定一塊64KB空間(通常在保留內存區內,但其物理存儲器來自擴展存儲器),分為4頁,每頁16KB。EMS存儲器也按16KB分頁,每次可交換4頁內容,以此方式可訪問全部EMS存儲器。符合EMS的驅動程序很多,常用的有EMM386.EXE、QEMM、TurboEMS、386MAX等。DOS和Windows中都提供了EMM386.EXE。
2.什麼是擴展內存?
我們知道,286有24位地址線,它可定址16MB的地址空間,而386有32位地址線,它可定址高達4GB的地址空間,為了區別起見,我們把1MB以上的地址空間稱為擴展內存XMS(eXtend memory)。
在386以上檔次的微機中,有兩種存儲器工作方式,一種稱為實地址方式或實方式,另一種稱為保護方式。在實方式下,物理地址仍使用20位,所以最大定址空間為1MB,以便與8086兼容。保護方式採用32位物理地址,定址范圍可達4GB。DOS系統在實方式下工作,它管理的內存空間仍為1MB,因此它不能直接使用擴展存儲器。為此,Lotus、Intel、AST及Microsoft公司建立了MS-DOS下擴展內存的使用標准,即擴展內存規范XMS。我們常在Config.sys文件中看到的Himem.sys就是管理擴展內存的驅動程序。
擴展內存管理規范的出現遲於擴充內存管理規范。
3.什麼是高端內存區?
在實方式下,內存單元的地址可記為:
段地址:段內偏移
通常用十六進制寫為XXXX:XXXX。實際的物理地址由段地址左移4位再和段內偏移相加而成。若地址各位均為1時,即為FFFF:FFFF。其實際物理地址為:FFF0+FFFF=10FFEF,約為1088KB(少16位元組),這已超過1MB范圍進入擴展內存了。這個進入擴展內存的區域約為64KB,是1MB以上空間的第一個64KB。我們把它稱為高端內存區HMA(High Memory Area)。HMA的物理存儲器是由擴展存儲器取得的。因此要使用HMA,必須要有物理的擴展存儲器存在。此外HMA的建立和使用還需要XMS驅動程序HIMEM.SYS的支持,因此只有裝入了HIMEM.SYS之後才能使用HMA。
4.什麼是上位內存?
為了解釋上位內存的概念,我們還得回過頭看看保留內存區。保留內存區是指640KB~1024KB(共384KB)區域。這部分區域在PC誕生之初就明確是保留給系統使用的,用戶程序無法插足。但這部分空間並沒有充分使用,因此大家都想對剩餘的部分打主意,分一塊地址空間(注意:是地址空間,而不是物理存儲器)來使用。於是就得到了又一塊內存區域UMB。
UMB(Upper Memory Blocks)稱為上位內存或上位內存塊。它是由擠占保留內存中剩餘未用的空間而產生的,它的物理存儲器仍然取自物理的擴展存儲器,它的管理驅動程序是EMS驅動程序。
5.什麼是SHADOW(影子)內存?
對於細心的讀者,可能還會發現一個問題:即是對於裝有1MB或1MB以上物理存儲器的機器,其640KB~1024KB這部分物理存儲器如何使用的問題。由於這部分地址空間已分配為系統使用,所以不能再重復使用。為了利用這部分物理存儲器,在某些386系統中,提供了一個重定位功能,即把這部分物理存儲器的地址重定位為1024KB~1408KB。這樣,這部分物理存儲器就變成了擴展存儲器,當然可以使用了。但這種重定位功能在當今高檔機器中不再使用,而把這部分物理存儲器保留作為Shadow存儲器。Shadow存儲器可以占據的地址空間與對應的ROM是相同的。Shadow由RAM組成,其速度大大高於ROM。當把ROM中的內容(各種BIOS程序)裝入相同地址的Shadow RAM中,就可以從RAM中訪問BIOS,而不必再訪問ROM。這樣將大大提高系統性能。因此在設置CMOS參數時,應將相應的Shadow區設為允許使用(Enabled)。
6、什麼是奇/偶校驗?
奇/偶校驗(ECC)是數據傳送時採用的一種校正數據錯誤的一種方式,分為奇校驗和偶校驗兩種。
如果是採用奇校驗,在傳送每一個位元組的時候另外附加一位作為校驗位,當實際數據中「1」的個數為偶數的時候,這個校驗位就是「1」,否則這個校驗位就是「0」,這樣就可以保證傳送數據滿足奇校驗的要求。在接收方收到數據時,將按照奇校驗的要求檢測數據中「1」的個數,如果是奇數,表示傳送正確,否則表示傳送錯誤。
同理偶校驗的過程和奇校驗的過程一樣,只是檢測數據中「1」的個數為偶數。
總 結
經過上面分析,內存儲器的劃分可歸納如下:
●基本內存 占據0~640KB地址空間。
●保留內存 占據640KB~1024KB地址空間。分配給顯示緩沖存儲器、各適配卡上的ROM和系統ROM BIOS,剩餘空間可作上位內存UMB。UMB的物理存儲器取自物理擴展存儲器。此范圍的物理RAM可作為Shadow RAM使用。
●上位內存(UMB) 利用保留內存中未分配使用的地址空間建立,其物理存儲器由物理擴展存儲器取得。UMB由EMS管理,其大小可由EMS驅動程序設定。
●高端內存(HMA) 擴展內存中的第一個64KB區域(1024KB~1088KB)。由HIMEM.SYS建立和管理。
●XMS內存 符合XMS規范管理的擴展內存區。其驅動程序為HIMEM.SYS。
●EMS內存 符合EMS規范管理的擴充內存區。其驅動程序為EMM386.EXE等。
B. data=b''.join(buffer)如何理解
1. Nested-Loop Join 翻譯過來就是嵌套循環連接,簡稱 NLJ。
這種是 MySQL 里最簡單、最容易理解的表關聯演算法。
比如,拿語句 select * from p1 join p2 using(r1) 來說,
先從表 p1 里拿出來一條記錄 ROW1,完了再用 ROW1 遍歷表 p2 里的每一條記錄,並且欄位 r1 來做匹配是否相同,以便輸出;再次循環剛才的過程,直到兩表的記錄數對比完成為止。
2. Block Nested-Loop Join ,塊嵌套循環,簡稱 BNLJ
那 BNLJ 比 NLJ 來說,中間多了一塊 BUFFER 來緩存外表的對應記錄從而減少了外表的循環次數,也就減少了內表的匹配次數。還是那上面的例子來說,假設 join_buffer_size 剛好能容納外表的對應 JOIN KEY 記錄,那對表 p2 匹配次數就由 1000 次減少到 1 次,性能直接提升了 1000 倍。
3. 最近 MySQL 8.0.18 發布,終於推出了新的 JOIN 演算法 — HASH JOIN。
MySQL 的 HASH JOIN 也是用了 JOIN BUFFER 來做緩存,但是和 BNLJ 不同的是,它在 JOIN BUFFER 中以外表為基礎建立一張哈希表,內表通過哈希演算法來跟哈希表進行匹配,hash join 也就是進一步減少內表的匹配次數。當然官方並沒有說明詳細的演算法描述,以上僅代表個人臆想。那還是針對以上的 SQL,我們來看下執行計劃。
C. win2003伺服器C:\WINDOWS\Temp文件夾下的sess_*文件是什麼原因啊
某些應用軟體產生的保存個人會話信息的session緩存。
D. 緩存文件寫入失敗
1. 先確認諸如.cach e這樣的 文件夾已創建成功。
2. 執行:sudo c hmod 777 -R /www,其中/www更換為項目根目錄。
3. 如果是生產環境 謹慎設置 目錄許可權,可以只設置需要寫許可權的目錄為777即可解決問題。
E. 西部數據WD20EFRX怎麼樣西部數據WD20EFRX好嗎
西部數據WD20EFRX是SATA3台式機硬碟系列磁碟緩存為32M,並具備空閑時從7200rpm降到5400rpm的特色技術,既節能又可以延續硬碟的壽命。
適用類型:台式機
硬碟尺寸:3.5英寸
硬碟容量:2000GB
單碟容量:500GB
緩存:64MB
轉速:5400rpm
介面類型:SATA3.0
介面速率:6Gb/秒
F. 在不小心點了一個估計有毒的exe文件後 立即出現藍屏 重啟後explorer.exe 應用程序錯誤
用這個試試殺毒:世界一流殺毒軟體:卡巴斯基 v5.388 中文單機版及授權文件 http://www.crsky.com/soft/3798.html
G. 內存是什麼
在計算機的組成結構中,有一個很重要的部分,就是存儲器。存儲器是用來存儲程序和數據的部件,對於計算機來說,有了存儲器,才有記憶功能,才能保證正常工作。存儲器的種類很多,按其用途可分為主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存).內存在電腦中起著舉足輕重的作用。內存一般採用半導體存儲單元,包括隨機存儲器(RAM),只讀存儲器(ROM),以及高速緩存(CACHE)。只不過因為RAM是其中最重要的存儲器。S(SYSNECRONOUS)DRAM 同步動態隨機存取存儲器:SDRAM為168腳,這是目前PENTIUM及以上機型使用的內存。SDRAM將CPU與RAM通過一個相同的時鍾鎖在一起,使CPU和RAM能夠共享一個時鍾周期,以相同的速度同步工作,每一個時鍾脈沖的上升沿便開始傳遞數據,速度比EDO內存提高50%。DDR(DOUBLE DATA RAGE)RAM :SDRAM的更新換代產品,他允許在時鍾脈沖的上升沿和下降沿傳輸數據,這樣不需要提高時鍾的頻率就能加倍提高SDRAM的速度。
●內存
內存就是存儲程序以及數據的地方,比如當我們在使用WPS處理文稿時,當你在鍵盤上敲入字元時,它就被存入內存中,當你選擇存檔時,內存中的數據才會被存入硬(磁)盤。在進一步理解它之前,還應認識一下它的物理概念。
●只讀存儲器(ROM)
ROM表示只讀存儲器(Read Only Memory),在製造ROM的時候,信息(數據或程序)就被存入並永久保存。這些信息只能讀出,一般不能寫入,即使機器掉電,這些數據也不會丟失。ROM一般用於存放計算機的基本程序和數據,如BIOS ROM。其物理外形一般是雙列直插式(DIP)的集成塊。
●隨機存儲器(RAM)
隨機存儲器(Random Access Memory)表示既可以從中讀取數據,也可以寫入數據。當機器電源關閉時,存於其中的數據就會丟失。我們通常購買或升級的內存條就是用作電腦的內存,內存條(SIMM)就是將RAM集成塊集中在一起的一小塊電路板,它插在計算機中的內存插槽上,以減少RAM集成塊佔用的空間。目前市場上常見的內存條有128M/條、256M/條、512M/條等。
●高速緩沖存儲器(Cache)
Cache也是我們經常遇到的概念,它位於CPU與內存之間,是一個讀寫速度比內存更快的存儲器。當CPU向內存中寫入或讀出數據時,這個數據也被存儲進高速緩沖存儲器中。當CPU再次需要這些數據時,CPU就從高速緩沖存儲器讀取數據,而不是訪問較慢的內存,當然,如需要的數據在Cache中沒有,CPU會再去讀取內存中的數據。
當你理解了上述概念後,也許你會問,內存就是內存,為什麼又會出現各種內存名詞,這到底又是怎麼回事呢?
在回答這個問題之前,我們再來看看下面這一段。
物理存儲器和地址空間
物理存儲器和存儲地址空間是兩個不同的概念。但是由於這兩者有十分密切的關系,而且兩者都用B、KB、MB、GB來度量其容量大小,因此容易產生認識上的混淆。初學者弄清這兩個不同的概念,有助於進一步認識內存儲器和用好內存儲器。
物理存儲器是指實際存在的具體存儲器晶元。如主板上裝插的內存條和裝載有系統的BIOS的ROM晶元,顯示卡上的顯示RAM晶元和裝載顯示BIOS的ROM晶元,以及各種適配卡上的RAM晶元和ROM晶元都是物理存儲器。
存儲地址空間是指對存儲器編碼(編碼地址)的范圍。所謂編碼就是對每一個物理存儲單元(一個位元組)分配一個號碼,通常叫作「編址」。分配一個號碼給一個存儲單元的目的是為了便於找到它,完成數據的讀寫,這就是所謂的「定址」(所以,有人也把地址空間稱為定址空間)。
地址空間的大小和物理存儲器的大小並不一定相等。舉個例子來說明這個問題:某層樓共有17個房間,其編號為801~817。這17個房間是物理的,而其地址空間採用了三位編碼,其范圍是800~899共100個地址,可見地址空間是大於實際房間數量的。
對於386以上檔次的微機,其地址匯流排為32位,因此地址空間可達232即4GB。但實際上我們所配置的物理存儲器通常只有1MB、2MB、4MB、8MB、16MB、32MB等,遠小於地址空間所允許的范圍。
好了,現在可以解釋為什麼會產生諸如:常規內存、保留內存、上位內存、高端內存、擴充內存和擴展內存等不同內存類型。
各種內存概念
這里需要明確的是,我們討論的不同內存的概念是建立在定址空間上的。
IBM推出的第一台PC機採用的CPU是8088晶元,它只有20根地址線,也就是說,它的地址空間是1MB。
PC機的設計師將1MB中的低端640KB用作RAM,供DOS及應用程序使用,高端的384KB則保留給ROM、視頻適配卡等系統使用。從此,這個界限便被確定了下來並且沿用至今。低端的640KB就被稱為常規內存即PC機的基本RAM區。保留內存中的低128KB是顯示緩沖區,高64KB是系統BIOS(基本輸入/輸出系統)空間,其餘192KB空間留用。從對應的物理存儲器來看,基本內存區只使用了512KB晶元,佔用0000至80000這512KB地址。顯示內存區雖有128KB空間,但對單色顯示器(MDA卡)只需4KB就足夠了,因此只安裝4KB的物理存儲器晶元,佔用了B0000至B10000這4KB的空間,如果使用彩色顯示器(CGA卡)需要安裝16KB的物理存儲器,佔用B8000至BC000這16KB的空間,可見實際使用的地址范圍都小於允許使用的地址空間。
在當時(1980年末至1981年初)這么「大」容量的內存對PC機使用者來說似乎已經足夠了,但是隨著程序的不斷增大,圖象和聲音的不斷豐富,以及能訪問更大內存空間的新型CPU相繼出現,最初的PC機和MS-DOS設計的局限性變得越來越明顯。
1.什麼是擴充內存?
EMS工作原理
到1984年,即286被普遍接受不久,人們越來越認識到640KB的限制已成為大型程序的障礙,這時,Intel和Lotus,這兩家硬、軟體的傑出代表,聯手制定了一個由硬體和軟體相結合的方案,此方法使所有PC機存取640KB以上RAM成為可能。而Microsoft剛推出Windows不久,對內存空間的要求也很高,因此它也及時加入了該行列。
在1985年初,Lotus、Intel和Microsoft三家共同定義了LIM-EMS,即擴充內存規范,通常稱EMS為擴充內存。當時,EMS需要一個安裝在I/O槽口的內存擴充卡和一個稱為EMS的擴充內存管理程序方可使用。但是I/O插槽的地址線只有24位(ISA匯流排),這對於386以上檔次的32位機是不能適應的。所以,現在已很少使用內存擴充卡。現在微機中的擴充內存通常是用軟體如DOS中的EMM386把擴展內存模擬或擴充內存來使用。所以,擴充內存和擴展內存的區別並不在於其物理存儲器的位置,而在於使用什麼方法來讀寫它。下面將作進一步介紹。
前面已經說過擴充存儲器也可以由擴展存儲器模擬轉換而成。EMS的原理和XMS不同,它採用了頁幀方式。頁幀是在1MB空間中指定一塊64KB空間(通常在保留內存區內,但其物理存儲器來自擴展存儲器),分為4頁,每頁16KB。EMS存儲器也按16KB分頁,每次可交換4頁內容,以此方式可訪問全部EMS存儲器。符合EMS的驅動程序很多,常用的有EMM386.EXE、QEMM、TurboEMS、386MAX等。DOS和Windows中都提供了EMM386.EXE。
2.什麼是擴展內存?
我們知道,286有24位地址線,它可定址16MB的地址空間,而386有32位地址線,它可定址高達4GB的地址空間,為了區別起見,我們把1MB以上的地址空間稱為擴展內存XMS(eXtend memory)。
在386以上檔次的微機中,有兩種存儲器工作方式,一種稱為實地址方式或實方式,另一種稱為保護方式。在實方式下,物理地址仍使用20位,所以最大定址空間為1MB,以便與8086兼容。保護方式採用32位物理地址,定址范圍可達4GB。DOS系統在實方式下工作,它管理的內存空間仍為1MB,因此它不能直接使用擴展存儲器。為此,Lotus、Intel、AST及Microsoft公司建立了MS-DOS下擴展內存的使用標准,即擴展內存規范XMS。我們常在Config.sys文件中看到的Himem.sys就是管理擴展內存的驅動程序。
擴展內存管理規范的出現遲於擴充內存管理規范。
3.什麼是高端內存區?
在實方式下,內存單元的地址可記為:
段地址:段內偏移
通常用十六進制寫為XXXX:XXXX。實際的物理地址由段地址左移4位再和段內偏移相加而成。若地址各位均為1時,即為FFFF:FFFF。其實際物理地址為:FFF0+FFFF=10FFEF,約為1088KB(少16位元組),這已超過1MB范圍進入擴展內存了。這個進入擴展內存的區域約為64KB,是1MB以上空間的第一個64KB。我們把它稱為高端內存區HMA(High Memory Area)。HMA的物理存儲器是由擴展存儲器取得的。因此要使用HMA,必須要有物理的擴展存儲器存在。此外HMA的建立和使用還需要XMS驅動程序HIMEM.SYS的支持,因此只有裝入了HIMEM.SYS之後才能使用HMA。
4.什麼是上位內存?
為了解釋上位內存的概念,我們還得回過頭看看保留內存區。保留內存區是指640KB~1024KB(共384KB)區域。這部分區域在PC誕生之初就明確是保留給系統使用的,用戶程序無法插足。但這部分空間並沒有充分使用,因此大家都想對剩餘的部分打主意,分一塊地址空間(注意:是地址空間,而不是物理存儲器)來使用。於是就得到了又一塊內存區域UMB。
UMB(Upper Memory Blocks)稱為上位內存或上位內存塊。它是由擠占保留內存中剩餘未用的空間而產生的,它的物理存儲器仍然取自物理的擴展存儲器,它的管理驅動程序是EMS驅動程序。
5.什麼是SHADOW(影子)內存?
對於細心的讀者,可能還會發現一個問題:即是對於裝有1MB或1MB以上物理存儲器的機器,其640KB~1024KB這部分物理存儲器如何使用的問題。由於這部分地址空間已分配為系統使用,所以不能再重復使用。為了利用這部分物理存儲器,在某些386系統中,提供了一個重定位功能,即把這部分物理存儲器的地址重定位為1024KB~1408KB。這樣,這部分物理存儲器就變成了擴展存儲器,當然可以使用了。但這種重定位功能在當今高檔機器中不再使用,而把這部分物理存儲器保留作為Shadow存儲器。Shadow存儲器可以占據的地址空間與對應的ROM是相同的。Shadow由RAM組成,其速度大大高於ROM。當把ROM中的內容(各種BIOS程序)裝入相同地址的Shadow RAM中,就可以從RAM中訪問BIOS,而不必再訪問ROM。這樣將大大提高系統性能。因此在設置CMOS參數時,應將相應的Shadow區設為允許使用(Enabled)。
6、什麼是奇/偶校驗?
奇/偶校驗(ECC)是數據傳送時採用的一種校正數據錯誤的一種方式,分為奇校驗和偶校驗兩種。
如果是採用奇校驗,在傳送每一個位元組的時候另外附加一位作為校驗位,當實際數據中「1」的個數為偶數的時候,這個校驗位就是「1」,否則這個校驗位就是「0」,這樣就可以保證傳送數據滿足奇校驗的要求。在接收方收到數據時,將按照奇校驗的要求檢測數據中「1」的個數,如果是奇數,表示傳送正確,否則表示傳送錯誤。
同理偶校驗的過程和奇校驗的過程一樣,只是檢測數據中「1」的個數為偶數。
總 結
經過上面分析,內存儲器的劃分可歸納如下:
●基本內存 占據0~640KB地址空間。
●保留內存 占據640KB~1024KB地址空間。分配給顯示緩沖存儲器、各適配卡上的ROM和系統ROM BIOS,剩餘空間可作上位內存UMB。UMB的物理存儲器取自物理擴展存儲器。此范圍的物理RAM可作為Shadow RAM使用。
●上位內存(UMB) 利用保留內存中未分配使用的地址空間建立,其物理存儲器由物理擴展存儲器取得。UMB由EMS管理,其大小可由EMS驅動程序設定。
●高端內存(HMA) 擴展內存中的第一個64KB區域(1024KB~1088KB)。由HIMEM.SYS建立和管理。
●XMS內存 符合XMS規范管理的擴展內存區。其驅動程序為HIMEM.SYS。
●EMS內存 符合EMS規范管理的擴充內存區。其驅動程序為EMM386.EXE等。
H. 急急急!!!!!
換一塊主板就沒事了。這是你的主板有問題才發出的信號。如果不是系統問題的話,可以肯定一定是主板出問題了。
I. 迅雷崩潰信息,求解釋與辦法,謝謝!
跟我的情況差不多。
我家裡的台式,辦公室,和筆記本,都安裝的是迅雷5,操作系統有XP和2003。從大概9月份開始,就開始經常性崩潰,我懷疑是迅雷為了用戶使用高版本,而強制使它崩潰。
迅雷7,佔用系統資源太高,廣告太多,感覺太過華而不實。
這段時間,我又依次嘗試過超級旋風等,不過旋風在下載大文件BT有問題,暫停或停止後,緩存文件需要保存到硬碟,這個過程是痛苦的。以下載一個10GB的文件為例,暫停它,需要大概4分鍾才會有反應。明顯是設計的問題。
推薦樓主使用迷你迅雷。找個綠色版,直接就可以用了。使用好幾周了,還比較穩定。
另外,快車也是個選擇,但很多年沒用了,沒辦法給樓主提供這方面的意見。