Comparison between ARM7 and ARM cortex

Source: Internet
Author: User

comparison between ARM7 and ARM cortex

1. Arm Implementation Method

The ARM cortex is the latest arm embedded core based on the ARM7V architecture, which uses the Harvard architecture, using separate instructions and a data bus (with the von Neumann structure, which uses a single line of information and instructions). In essence, the Harvard structure is more physically complex, but the processing speed is significantly faster. According to Moore's theorem, complexity is not a very important thing, and the increase in throughput is of great value.

ARM's position on cortex is to provide low-cost, low-power chips to the professional embedded market. Cortex has fairly good performance in terms of cost and power, and Arm believes it is particularly well-suited for the automotive and wireless communications sectors. Like all arm cores, ARM has licensed the design to individual manufacturers to develop specific chips. So far, a number of chipmakers have started to produce microcontrollers based on the cortex core.

The arm cores of the ARM7TDMI (including the Arm7tdmis) series are also available for the same class of markets. This type of kernel has been around for more than 10 years and has driven the arm to become the leader in the processor core domain. Numerous manufacturers sell processors based on the ARM7 series and other supporting system software, development and commissioning tools. In many ways, ARM7TDMI can be called the embedded field of the doer.

2. Difference between the two

In addition to using the Harvard structure, Cortex has other notable advantages: a smaller base core, lower prices and faster speeds. Integrated with the kernel are some system peripherals, such as interrupt controllers, bus matrices, and debug function modules, which are usually added by chip manufacturers. The cortex also incorporates a sleep mode and an optional complete eight area memory protection unit. It uses the THUMB-2 instruction set to minimize assembler usage.

3. Instruction Set

ARM7 can use arm and thumb two instruction sets, while Cortex only supports the latest Thumb-2 instruction set. The advantage of this design is that it eliminates the switch between thumb and arm code, which can degrade performance for earlier processors. The Thumb-2 instruction set is designed specifically for the C language, and includes the If/then structure (which predicts conditional execution of the next four statements), hardware division, and the status domain operation. The Thumb-2 instruction set allows users to maintain and modify applications at the C code level, and the C code section is very easy to reuse. The Thumb-2 instruction set also includes the ability to invoke assembly code: Luminary Company does not consider it necessary to use any assembly language. Combined with these advantages, the development of new products will be easier to achieve, time-to-market is greatly shortened.

4. Interrupt

Another innovation in cortex is the nested vector interrupt controller Nvic (Nested vector Interrupt Controller). In contrast to the external interrupt controller used by the ARM7, the cortex core incorporates an interrupt controller that can be configured by the chip manufacturer to provide a basic 32 physical interrupt with 8 levels of priority, up to 240 physical interrupts and 256 interrupt priority. This type of design is deterministic and has low latency, and is ideal for automotive applications.

Nvic is using a stack-based exception model. When processing interrupts, the program counters, program status registers, link registers, and universal registers are pressed into the stack, and after the interrupt processing is complete, the registers are restored. Stack processing is done by hardware and does not require assembly language to create a stack operation for the interrupt service program. An interrupt nesting can be implemented. Interrupts can be changed to use a higher priority than the previous service program, and can change the priority state at run-time. Using the end-of-chain (tail-chaining) continuous interrupt technology consumes only three clock cycles, which significantly reduces latency and improves performance compared to 32 clock cycles of continuous pressure and out stacks.

If the Nvic has already pressed the stack before the higher-priority interrupts arrive, it is only necessary to get a new vector address that can serve the higher-priority interrupts. Similarly, Nvic does not use the stack operation to serve new interrupts. This approach is completely deterministic and has low latency.

5. Sleep

The Cortex power management scheme supports sleep Now,sleep on exit via Nvic, (exits the lowest-priority ISR) and Sleepdeep modes these three sleeping modes. In order to generate periodic interrupt intervals, the Nvic also integrates a system beat timer, which can also be used as a heartbeat for RTOs and scheduled tasks. This differs from the previous ARM architecture in that it does not require an external clock.

6. Memory Protection Unit

The Memory protection unit is an optional build. With this option, the memory area can be associated with the rules defined by other processes in the application-specific process. For example, some memory can be completely blocked by other processes, while another part of memory can be read-only for some processes. You can also disable the process from entering the memory area. Reliability, especially real-time, has been greatly improved.

7. Debugging

debugging and tracing the Cortex processor system is done by debugging access ports (Debug access Port). The debug access port can be a 2-pin serial debug port (Serial wire Debug port) or a serial Jtag debug port (Serial wire JTAG debug ports). Combined with a range of features such as flash slices, breakpoint units, data observation points, tracking units, and optional embedded tracking macro units (Embedded trace macrocell) and command-tracking macro units (instrumentation trace Macrocell) , many types of debugging methods and monitoring functions can be used in the kernel section. For example, you can set breakpoints, observe points, define default conditions, or perform debug requests, monitor stop operations, or continue. All of these features have been implemented in the ARM architecture product, but the cortex integrates these features to facilitate the use of developers.

8. Application scope

Although the ARM7 core does not integrate many peripherals like the Cortex series, a large number of ARM7-based devices, from general-purpose MCUs to application-oriented MCUs, SoCs, and even Actel-based FPGAs, are more peripheral devices. Approximately 150 MCUs are based on the ARM7 kernel (this number may be higher depending on the statistical method). You'll find that ARM7 can achieve almost any embedded application, or in a customized way to meet the needs. Based on the standard core, chip manufacturers can add different types, sizes of memory and other peripherals, such as serial interface, bus controller, memory controller and graphics unit, and for industrial, automotive or other demanding areas, using different chip packages, to provide a different temperature range of the chip version. Chip vendors may also bind specific software, such as the TCP/IP stack or software for specific applications.

For example, STMicroelectronics Company's STR7 product line has three main series of 45 members, with different packages and storage. Each series is designed for a specific application area with a different set of peripherals. For example, the STR730 family is designed for industrial and automotive applications and therefore has a scalable temperature range, including multiple I/O ports and 3 can bus interfaces. STR710 is for the consumer market and high-end industrial applications, it has a number of communication interfaces, such as USB, CAN, ISO7816 and 4 UART, as well as large-capacity memory and an external memory interface.

Chip manufacturers can also choose to help developers develop products, such as the arm's embedded tracking macro unit ETM (Embedded trace Macrocell), and provide development and debugging tools.

luminary, STMicroelectronics The two companies already have CORTEX-M3-based chips, other companies such as NXP, Atmel also announced the production of such products.

9. Companion tools

ARM7 applications have become very popular and have been supported by a very wide number of third-party development and debugging tools. There are more than 130 list of tool company names on ARM's website.

Most vendors provide basic development boards and provide the interface for downloading programs, debugging tools, and drivers for external devices, including the display status of LED lights or a single-line display on the screen. Typically, development kits include compilers, some debugging software, and development boards. A more advanced suite includes a third-party integrated development Environment (IDE) that contains compilers, linker, debuggers, editors, and other tools, and may include emulation hardware, such as a JTAG emulator. The internal circuit emulator (ICE) is one of the earliest and most useful forms of debugging tools, and many vendors provide this interface on ARM7.

Software development tools range from modeling to visual design to compilers. Now many products also use real-time operating systems (RTOS) and middleware to speed up the development process and reduce the difficulty of development. In addition, there is a very important factor, many developers have a very rich experience in the development of ARM7. Although there are now new cortex-m3 tools, there is still a certain gap. However, the integrated debug performance of CORTEX-M3 makes debugging simple and effective, without the need for an internal circuit emulator ice.

10. Decision

So, how do you make the choice? If cost is the main consideration, you should choose cortex; If you are looking for better performance and improved power consumption at low cost, you might want to consider choosing cortex-m3, especially if your application is in the automotive and wireless areas, preferably with CORTEX-M3, This is CORETEX-M3 's main positioning market.

Because of the many integration elements in the CORTEX-M3 kernel and the adoption of Thumb-2 instruction set, it is easier to develop and debug than ARM7TDMI. However, it is not difficult to redefine the application of ARM7TDMI, especially in the case of using an RTOS. Conservatives may follow the ARM7TDMI kernel's chips and avoid using features that complicate the redefinition.

IAR Systems is the first manufacturer of C compilers to offer a range of ARM development tools including IAR visualstate modeling tools, IAR Embedded Workbench for ARM integrated development environment, IAR Powerpac Real-time operating systems and middleware, J-link hardware emulation tools, and development kits. Whether the user's choice is ARM7 or Cortex-m3,iar will make development simple and interesting.

Comparison between ARM7 and ARM cortex

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.