Aswin Kumar Bala Krishnan MIS 502
AMD64 Processor Architecture
The AMD 64 is a 64 bit processor currently available in the market. It is an extension of x86 types of processors, it also includes the compatibility of the 32 bit processors. The first version of AMD 64 was released in April 2003. It was named Opteron. The AMD 64 provides 16 64 bit general purpose registers 16 SSE (Streaming SIMD instructions) registers. SMID stands for Single Instruction Multiple Data. The AMD64 ABI (Application Binary Interface) was developed from 32 bit ABI. Programs that are compiled by a 32 bit ABI can be run in 64 bit ABI but the performance of the program will be better when compiled with a 64 ABI.
The main characteristics of the 64 bit processors are the general purpose registers; there are 64 bit of internal registers where as its only 32 bits in case of a 32 bit processor. Here the operations can be performed directly on 64 bits. However the stack operations are performed in 8 bits.
The different data types supported by the AMD64 are
A. Fundamental types
3. Floating Point
4. Decimal floating Point
The sizes of various data types are mentioned in the tabular column 1.1.
There are three main programming models for a 64 bit processor
The naming is used in such a way to represent the 64bit variable. In LP64 Long and Reference are 64 bits, in ILP64 Integer, Long and Reference are 64 bits and in LLP only Double (Long Long) is 64 bits.
The different data sizes were mentioned in the tabular format 1.0.
B. Bit fields
Bit fields are always non negative, even though they have data types which can have negative values they have the same size and range of the unsigned type.
* Allocation is done from right to left.
* They must be stored in a unit according to the declared type.
* They can share a storage unit with other data members.