zoukankan      html  css  js  c++  java
  • 【操作系统】:Main features of the X86-64

    The combination of the new hardware supplied by Intel and AMD ,and the new versions of GCC targeting these machines makes x86-64code substantially different from that generated for IA32 machines. The main features include:

    1、Pointers and long integers are 64 bits long. Integer arithmetic operations support 8, 16, 32 and 64-bit data types.

    2、The set of general-purpose registers is expanded from 8 to 16.

    3、Much of the program state is held in registers rather than on the stack. Integer and pointer procedure arguments(up to 6)are passed via registers. Some procedures do not need to access the stack at all.

    4、Conditional operations are implemented using conditional move instructions when possible, yielding better performance than traditional branching code.

    5、Floating-point operations are implemented using the register-oriented instruction set introduced with SSE version 2, rather than the stack-based approach supported by IA32.

    5、All registers are 64bits long. The 64 bit extensions of the IA32 registers are named %rax, %rcx, %rdx, %rbx, %rsi, %rdi, %rsp, %rbp. The new registers are named %r8-%r15.

    6、The low-order 32 bits of each register can be accessed directly. This gives us the familiar registers from IA32:%eax, %ecx, %edx, %ebx, %esi, %edi, %esp, %ebp, as well as eight new 32-bit registers:%r8d-%r15d

    7、The low-order 16 bits of each register can be accessed directly, as is the case for IA32. The word-size versions of the new registers are named %r8w-%r15w.

    8、The low-order 8 bits of each register can be accessed directly. This is true in IA32 only for the first four registers(%al, %cl, %dl, %bl). The byte-size versions of the other IA32 registers are named%sil, %dil, %spl, %bpl. The byte-size versions of the new registers are named %r8b-%r15b.

    9、For backward compatibility, the second byte of registers %rax, %rcx, %rdx, %rbx can be directly accessed by instructions having single-byte operands.

  • 相关阅读:
    JavaScript正则表达式(四)
    JavaScript三元运算符以及运算符顺序
    JavaScript进制转换
    JavaScript赋值运算符和关系运算符
    JavaScript输出
    hadoop1.2.1的安装
    SSH免费登录
    使用java poi解析表格
    【深入理解JVM】:Java类继承关系中的初始化顺序
    解决yum安装mysql时Requires: libc.so.6(GLIBC_2.17)(64bit)
  • 原文地址:https://www.cnblogs.com/sangoly/p/3576371.html
Copyright © 2011-2022 走看看