3 working modes of Intel series microprocessors

The main development processes of the Intel series of microprocessors commonly used in microcomputers are: 8080, 8086/8088, 80186, 80286, 80386, 80486, Pentium, Pentium Il, Pentium IIl, Pentium4.

8086/8088 is an important stage, 8086 and 8088 are two slightly different CPUs with the same functions. 8088 was used by IBM in the first microcomputer it produced. The structure of this microcomputer actually became the basic structure of future microcomputers.

80386 is the second important model. With the development of microcomputer applications and performance, the problem of constructing a reliable multi-task operating system on microcomputers has become increasingly prominent. People hope (perhaps a latent hope, once discovered, it forms a most basic need) that their PC can stably run multiple programs at the same time and handle multiple tasks at the same time. Or use the PC as a Host server, running a multi-user system like UNIX.

8086/8088 does not have the functionality to implement a complete multi-tasking operating system. For this reason, Inte1 developed 8028680286, which has support for multi-tasking systems. But the compatibility with 8086/8088 is not done well. This prevents users from using programs on the original 8086 machine. IBM first developed the multitasking system OS/2 based on 80286, but made a strategic mistake.

Intel then developed the 80386 microprocessor, which was an epoch-making product. It can work in the following 3 modes.

(1) Real mode: The working mode is equivalent to an 8086.
(2) Protection mode: Provides a working method that supports a multi-tasking environment and establishes a protection mechanism (similar to minicomputers such as VAX).
(3) Virtual 8086 mode: You can switch from protection mode to one of the 8086 working modes. This method is provided so that users can conveniently run one or more original 8086 programs in protected mode.

All subsequent generations of microprocessors provide the above three working modes.

You may say: "Hey, sir, what you said is too abstract. How do I perceive these 3 modes?"

In fact, anyone who has used a PC has experienced these three modes of the CPU. As soon as any PC using an Intel series CPU is turned on, the CPU will work in real mode. If your machine is installed with DOS, the CPU will still work in real mode after DOS is loaded. If your machine is installed with Windows, after Windows is loaded, Windows will switch the CPU to work in protected mode. Because Windows is a multi-tasking system, it must run in protected mode. If you run a DOS program in Windows, Windows switches the CPU to virtual 8086 mode to run the program. Or in this case, you click the Start menu to enter MS-DOS mode in the program item. At this time, Windows also switches the CPU to run in virtual 8086 mode.

It is very meaningful to be able to directly enter the virtual 8086 mode that can run the original 8086 program from the protected mode. This provides users with a mechanism to conveniently run the programs in the original 8086 system in the existing multi-tasking system. We can all appreciate this in Windows. If you want to run a program in the original DOS in Windows, you only need to click its icon with the mouse. The defect of 80286CPU is that it only provides real mode and protected mode, but does not provide virtual 8086. mode. This makes the multi-tasking system based on 80286 unable to conveniently run the programs in the original 8086 system. If you run the program in the original 8086 system, you need to restart the computer to make the CPU work in real mode. What does this mean? It means that it will cause great inconvenience to users. Assuming you are using a Windows system based on 80286, this will happen: You are writing a paper in Word, which uses some previous data. You must run the DBASE system under the original DOS to look at the data. . At this time, you can only stop your existing work, restart the computer, and enter real mode work. You finish reading the data and continue to write the paper, but after a while, you find that there is some more data that you need to refer to, so you have to stop your current work and restart the computer...

Fortunately, the Windows we use is based on 80386. We can open two windows in such an easy way, one is Word working in protected mode, and the other is DBASE working in virtual 8086 mode. We can easily open two windows. To switch between windows, just click with the mouse.

As mentioned before, we learn assembly language based on the 8086PC. But now we know that our actual programming environment is the real mode of the current CPU. Of course, some programs can also run in virtual 8086 mode.

If you read the above content carefully, or already have relevant knowledge, you will find that from 80386 to current CPUs, the purpose of providing 8086 real mode is for compatibility. The truly effective working mode of today's CPUs is the protected mode that supports multi-tasking operating systems. This may raise a question in your mind: "Why don't we learn assembly language in protected mode?"

There are many similar questions. We all hope to learn newer things, but the learning process is objective. Any reasonable learning process (avoiding detours, blind exploration, and unsystematic learning as much as possible) is a step-by-step process. We must first learn and explore general laws and methods through something that is easy to grasp comprehensively. Information technology is a technology that develops very fast and changes with each passing day. New things are constantly emerging, making people often at a loss when learning. There are stories like this all around you: Mr. COOL learned a certain language in 3 days (or less) and started writing software in it. Inspired by this story, a beginner also tried it, but the result was completely different. Mr. COOL's rapid learning is just the tip of the iceberg above the water. What lies deep beneath the water is his more systematic and relevant basic knowledge and related technologies. It is unrealistic to learn programming in protected mode at the beginning. The things involved in protected mode are too complicated for beginners. You must know a lot before you can start writing your first small program. In comparison, 8086 is much more suitable.

Guess you like

Origin blog.csdn.net/lcy1619260/article/details/132716079