1. Talk about the difference between ARM7 and ARM9: What are the differences between ARM7 and ARM9? I am preparing to learn ARM, but I don't know whether to choose ARM7 or ARM9? Maybe these questions are no longer a problem in the eyes of experts, but it is indeed necessary for beginners to clarify. Let's talk about the difference between ARM7 and ARM9. 1. Improvement of clock frequency Although the core architecture of ARM7 and ARM9 is the same, the ARM7 processor adopts the von Neumann structure with a 3-stage pipeline; while ARM9 adopts the Harvard structure with a 5-stage pipeline. The added pipeline design improves the clock frequency and parallel processing capabilities. The 5-stage pipeline can allocate each instruction processing to 5 clock cycles, and 5 instructions are executed at the same time in each clock cycle. Under the commonly used chip production process, ARM7 generally runs at around 100MHz, while ARM9 is at least above 200MHz. 2 Improvement of instruction cycle Improvement of instruction cycle is of great help to improve processor performance. The extent of performance improvement depends on the overlap of instructions when the code is executed, which is actually a problem of the program itself. For the use of the highest level language, generally speaking, the performance improvement is about 30%. 3. MMU (Memory Management Unit) ARM7 generally does not have MMU (Memory Management Unit), (ARM720T has MMU). ARM9 generally has MMU, ARM9940T only has MPU, not a complete MMU. This is very important. The MMU unit is the necessary hardware support for large operating systems, such as LINUX; WINCE, etc. That is to say, ARM7 can generally only run small real-time systems such as UCOS-II, eCOS, etc., while ARM9 has no such limitation and general operating systems can be ported. In fact, even if ARM720T can support LINUX; WINCE and other systems, few people use it, because it is a bit difficult to run such a large operating system at the running speed of ARM7. Moreover, the application fields of the two are obviously different, and there is no need for this. 4. ARM7 provides a better performance-power ratio than ARM9. It contains the core of THUMB instruction set fast multiplication instructions and ICE debugging technology. 5. In the process of platform transformation from ARM7 to ARM9, there is one thing that is very fortunate, that is, ARM9E can be fully backward compatible with software on ARM7; and the programming model and architecture foundation faced by developers are also consistent. 2. Let's talk about whether beginners should choose ARM7 or ARM9? 1) Clearly learn for application. Where do you plan to use ARM? If it is a general control system or just to replace 8 or 16-bit machines, ARM7 is obviously the first choice; but if it is used in network communication or large-scale audio and video processing, ARM9 is more suitable. 2) Self-foundation There are generally three types of people who learn ARM: The first is computer majors: This type of people has a better understanding of software knowledge such as operating systems, but little knowledge of hardware knowledge. Obviously, it is better for this type of people to learn ARM to do software. ARM9 based on LINUX; WINCE and other operating systems can better meet the requirements of this type of people. Of course, there are also many computer majors who are engaged in the application software writing of ARM7 systems. But there are very few people who are engaged in the bottom layer. The second is electronic majors: This type of people has a relatively good hardware foundation, on the contrary, the software knowledge of operating systems, databases, etc. is unsatisfactory. Therefore, many electronic professionals are familiar with single-chip microcomputers. It is not a problem to write small programs with single-chip microcomputers, but it is a bit difficult to use ARM to make larger software, especially LINUX; WINCE, an operating system, cannot be easily mastered in three or two months. It is recommended that such personnel should start with ARM7 and small operating systems if there is no special need. It is good enough to be sufficient, and do not blindly pursue high-end. One thing to note is that it is not that those who work on ARM9 have higher salaries than ARM7. On the contrary, ARM7 has more job opportunities than ARM9. This is easy to understand. It is like a pyramid. The higher you go, the smaller the job opportunities. The third is that the software and hardware foundation is not very good: this type of personnel has real needs, and some are just following the trend. If you don’t have a strong determination to learn, it is better to participate in training. Of course, you can also save the country in a roundabout way. After understanding the single-chip microcomputer, ARM7 is not difficult.