How to implement compatible application mode based on X86-64 architecture processor

Publisher:SparklingEyesLatest update time:2010-08-13 Source: 嵌入式公社Keywords:X86-64 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

In order to make the user's computing platform realize a smooth transition from 32-bit to 64-bit architecture, AMD has developed a unique X86-64 structure. Compared with some current 64-bit platforms, processors based on the X86 structure can achieve full compatibility with existing 32-bit programs, and this compatible operation mode is completely based on hardware, rather than through the inefficient simulation of 32-bit instructions. In this way, we can continue to use existing applications on the X86-64 platform without having to wait for developers or software manufacturers to recompile the source code of the program, which will save users a lot of purchase and related training costs.

To some extent, the Opteron processor platform based on the X86-64 architecture can be seen as an extension of the previous X86-32. If the support for 64-bit instructions is not taken into account, the execution order and processing process of the instructions of the processor based on the X86-64 structure are the same. AMD has made significant improvements to the registers of the Opteron processor. Registers are storage units inside the processor that temporarily store data during the operation process. They store data that is about to be processed or has been processed. The time taken by the CPU's operation unit to access registers is shorter than the time taken to access the processor cache and memory. Increasing registers can reduce the number of times the CPU accesses the processor L1, L2 cache and memory, thereby increasing the CPU's working speed.

The general registers in the registers are widely used and their uses can be specified by software developers. The number of general registers varies depending on the processor structure. The X86-32-bit processor has 8 32-bit general registers, including EAX, EBX, ECX, EDX, ESI, EDI, EBP, and ESP. Compared with the previous 32-bit X86 structure, AMD's 64-bit processor has added 8 registers on the basis of the original 8 general registers. These 8 registers work in 64 bits, and programs encoded in 64 bits can use them. AMD also expanded the original EAX and other registers to 64-bit RAX. From the perspective of expansion, EAX and other registers can be regarded as a subset of RAX, and the system can still fully execute the previous 32-bit encoded programs. In addition to storing data efficiently, general registers can also be used as address pointers during addressing, thereby shortening the instruction length and instruction execution time, speeding up the CPU's calculation and processing speed, and also bringing convenience to programming. Judging from the register structure alone, the larger number of registers in X86-64 will greatly improve the performance of the processor and will also be more popular with software developers.

Current processor products all use SIMD (Single Instruction Multiple Data) technology to improve the computing power of the processor. Common SIMD technologies include Intel's SSE, SSE2 and AMD's 3DNow!. In addition to 3DNow! technology, the previous X86-32 structure AMD processors also provide compatibility with Intel's SSE instruction set, while X86-64 provides support for SSE2 through 16 registers. In terms of SIMD technology, AMD's X86-64 structure will provide better compatibility than any previous design.

In order to work better in 32/64-bit mixed mode, the X86-64 architecture provides multiple processor working modes. In "long mode", if users use a 64-bit operating system and software compiled for 64-bit computing, they can obtain many new features such as 8 new 64-bit general registers and extended 64-bit general registers. "Long mode" also includes a "compatibility mode", in which users can run 32-bit applications on a 64-bit operating system. From the perspective of the application, the processor used in "compatibility mode" is an ordinary 32-bit X86 processor. From the perspective of the operating system, conventional address conversion, interrupts and system data structure operations are all performed in 64-bit "long mode". "Traditional mode" is the operating mode provided by AMD's 64-bit processor for 32-bit applications. In this mode, the operation of the X86-64 structure processor is no different from that of a general 32-bit processor and is fully compatible with the current 32-bit operating system and 32-bit applications.

Keywords:X86-64 Reference address:How to implement compatible application mode based on X86-64 architecture processor

Previous article:Design of hardware platform for speed control system based on TMS320VC33
Next article:Nine elements of multi-core processor design

Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号