luqingfei@C++

为中华之崛起而崛起!
兼听则明,偏听则暗。

汇编语言--Intel系列微处理器的三种工作模式

 

微机中常用的Intel系列微处理器的主要发展过程是:80808086/808880186802868038680486Pentium, Pentium II, Pentium III, Pentium 4

 

8086/8088是一个重要的阶段,它们略有区别。8088IBM用在了它所生产的第一台微机上,该微机的结构事实上成为以后微机的基本结构。

 

80386是第二个重要的型号,随着微机应用及性能的发展,在微机上构造可靠的多任务操作系统的问题日益突出。

 

8086/8088不具备实现一个完善的多任务操作系统的功能。为此Intel开发了8028680286具备了对多任务系统的支持。但对8086/8088的兼容却做得不好。这妨碍了用户对原8086机上的程序的使用。IBM最早基于80286开发了多任务系统OS/2,结果犯了一个战略错误。

 

随后Intel又开发了80386微处理器,这是一个划时代的新产品。它可以在3个模式下工作:

1)实模式:工作方式相当于一个8086

2)保护模式:提供支持多任务环境的工作方式,建立保护机制。

3)虚拟8086模式:可从保护模式切换至其中的一种8086工作方式。这种方式的提供使用户可以方便地在保护模式下运行一个或多个原8086程序。

 

以后的各代微处理器都提供了上述3种工作模式。

 

也许你会觉得,这三种模式太抽象了,其实CPU的这3种模式只要用过PC机的人都经历过。任何一台使用Intel系列CPUPC机只要一开机,CPU就工作在实模式下。如果你的机器装的是DOS,那么在DOS加载后CPU仍以实模式工作。如果你的机器装的是Windows,那么Windows加载后,将由WindowsCPU切换到保护模式下工作,因为Windows是多任务系统,它必须在保护模式下运行。如果你在Windows中运行一个DOS下的程序,那么WindowsCPU切换到虚拟8086模式下运行该程序。或者是这样,你点击开始菜单在程序项中进入MS-DOS方式,这时,Windows也将CPU切换到虚拟8086模式下运行。

 

可以从保护模式直接进入能运行原8086程序的虚拟8086模式是很有意义的,这为用户提供了一种机制,可以在现有的多任务系统中方便地运行原8086系统中的程序。

 

前面讲过,我们在8086PC机的基础上学习汇编语言,但现在知道,我们实际的编程环境是当前CPU的实模式,当然,有些程序也可以在虚拟8086模式下运行。

 

80386到当前的CPU,提供8086实模式的目的是为了兼容。现今CPU的真正有效力的工作模式是支持多任务操作系统的保护模式。这也许会引发你的一个疑问:“为什么我们不在保护模式下学习汇编语言?”

 

类似问题很多,我们都希望学习更新的东西,但学习的过程是客观的。任何合理的学习过程(尽可能排除走弯路、盲目探索、不成系统)都是一个循序渐进的过程。我们必须先通过一个易于全面把握的事物,来学习和探索一般的规律和方法。信息技术是一个发展非常快、日新月异的技术,新的东西不断出现,使人在学习的时候往往无所适从。在你的身边不断有这样的故事出现:COOL先生用了三天(或更短)的时间就学会了某某语言,并开始用它编软件。。在这个故事的感召下,一个初学者也去尝试,但完全是另外一种结果。COOL先生的快速学习只是露出水面的冰山一角,深藏水下的是他的较为系统的相关基础知识和相关的技术。在开始的时候学习保护模式下的编程,是不现实的,保护模式下所涉及的东西对初学者来说太复杂。你必须知道很多知识后,才能开始编写第一个小程序。相比之下8086就合适很多。

 

 

 

posted on 2010-08-05 08:50 luqingfei 阅读(1009) 评论(0)  编辑 收藏 引用 所属分类: 汇编语言基础学习


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

统计

留言簿(6)

随笔分类(109)

随笔档案(105)

Blogers

Game

Life

NodeJs

Python

Useful Webs

大牛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜