微機中常用的Intel系列微處理器的主要發(fā)展過程是:8080,8086/8088,80186,80286,80386,80486,Pentium, Pentium II, Pentium III, Pentium 4。
8086/8088是一個重要的階段,它們略有區(qū)別。8088被IBM用在了它所生產(chǎn)的第一臺微機上,該微機的結(jié)構(gòu)事實上成為以后微機的基本結(jié)構(gòu)。
80386是第二個重要的型號,隨著微機應(yīng)用及性能的發(fā)展,在微機上構(gòu)造可靠的多任務(wù)操作系統(tǒng)的問題日益突出。
8086/8088不具備實現(xiàn)一個完善的多任務(wù)操作系統(tǒng)的功能。為此Intel開發(fā)了80286,80286具備了對多任務(wù)系統(tǒng)的支持。但對8086/8088的兼容卻做得不好。這妨礙了用戶對原8086機上的程序的使用。IBM最早基于80286開發(fā)了多任務(wù)系統(tǒng)OS/2,結(jié)果犯了一個戰(zhàn)略錯誤。
隨后Intel又開發(fā)了80386微處理器,這是一個劃時代的新產(chǎn)品。它可以在3個模式下工作:
1)實模式:工作方式相當(dāng)于一個8086。
2)保護(hù)模式:提供支持多任務(wù)環(huán)境的工作方式,建立保護(hù)機制。
3)虛擬8086模式:可從保護(hù)模式切換至其中的一種8086工作方式。這種方式的提供使用戶可以方便地在保護(hù)模式下運行一個或多個原8086程序。
以后的各代微處理器都提供了上述3種工作模式。
也許你會覺得,這三種模式太抽象了,其實CPU的這3種模式只要用過PC機的人都經(jīng)歷過。任何一臺使用Intel系列CPU的PC機只要一開機,CPU就工作在實模式下。如果你的機器裝的是DOS,那么在DOS加載后CPU仍以實模式工作。如果你的機器裝的是Windows,那么Windows加載后,將由Windows將CPU切換到保護(hù)模式下工作,因為Windows是多任務(wù)系統(tǒng),它必須在保護(hù)模式下運行。如果你在Windows中運行一個DOS下的程序,那么Windows將CPU切換到虛擬8086模式下運行該程序。或者是這樣,你點擊開始菜單在程序項中進(jìn)入MS-DOS方式,這時,Windows也將CPU切換到虛擬8086模式下運行。
可以從保護(hù)模式直接進(jìn)入能運行原8086程序的虛擬8086模式是很有意義的,這為用戶提供了一種機制,可以在現(xiàn)有的多任務(wù)系統(tǒng)中方便地運行原8086系統(tǒng)中的程序。
前面講過,我們在8086PC機的基礎(chǔ)上學(xué)習(xí)匯編語言,但現(xiàn)在知道,我們實際的編程環(huán)境是當(dāng)前CPU的實模式,當(dāng)然,有些程序也可以在虛擬8086模式下運行。
從80386到當(dāng)前的CPU,提供8086實模式的目的是為了兼容。現(xiàn)今CPU的真正有效力的工作模式是支持多任務(wù)操作系統(tǒng)的保護(hù)模式。這也許會引發(fā)你的一個疑問:“為什么我們不在保護(hù)模式下學(xué)習(xí)匯編語言?”
類似問題很多,我們都希望學(xué)習(xí)更新的東西,但學(xué)習(xí)的過程是客觀的。任何合理的學(xué)習(xí)過程(盡可能排除走彎路、盲目探索、不成系統(tǒng))都是一個循序漸進(jìn)的過程。我們必須先通過一個易于全面把握的事物,來學(xué)習(xí)和探索一般的規(guī)律和方法。信息技術(shù)是一個發(fā)展非常快、日新月異的技術(shù),新的東西不斷出現(xiàn),使人在學(xué)習(xí)的時候往往無所適從。在你的身邊不斷有這樣的故事出現(xiàn):COOL先生用了三天(或更短)的時間就學(xué)會了某某語言,并開始用它編軟件。。在這個故事的感召下,一個初學(xué)者也去嘗試,但完全是另外一種結(jié)果。COOL先生的快速學(xué)習(xí)只是露出水面的冰山一角,深藏水下的是他的較為系統(tǒng)的相關(guān)基礎(chǔ)知識和相關(guān)的技術(shù)。在開始的時候?qū)W習(xí)保護(hù)模式下的編程,是不現(xiàn)實的,保護(hù)模式下所涉及的東西對初學(xué)者來說太復(fù)雜。你必須知道很多知識后,才能開始編寫第一個小程序。相比之下8086就合適很多。