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