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.

  • 相关阅读:
    1105 Spiral Matrix (25分)(蛇形填数)
    1104 Sum of Number Segments (20分)(long double)
    1026 Table Tennis (30分)(模拟)
    1091 Acute Stroke (30分)(bfs,连通块个数统计)
    1095 Cars on Campus (30分)(排序)
    1098 Insertion or Heap Sort (25分)(堆排序和插入排序)
    堆以及堆排序详解
    1089 Insert or Merge (25分)
    1088 Rational Arithmetic (20分)(模拟)
    1086 Tree Traversals Again (25分)(树的重构与遍历)
  • 原文地址:https://www.cnblogs.com/sangoly/p/3576371.html
Copyright © 2011-2022 走看看