SlideShare a Scribd company logo
1 of 44
CPU 64x architecture
By:
AmmAr mobark
Second stage Software department
Babylon university
Information Technology collage
Dec. 2016
Index
1. Introduction
2. The history of 64x architecture
3. Mode of operation
3.1. Legacy Modes
3.2. Long Mode
4. Register set
4.1. 32x architecture register set
4.2. 64x architecture register set
5. computer memory organized hierarchy
Index
6. Memory Management
6.1. Real-Address Mode
6.2. Protected Mode
6.3. Virtual-Memory Addressing.
6.4. Physical-Memory Addressing.
6.5. Effective Addressing.
7. Segmented Virtual Memory
7.1. Real Mode Segmentation
7.2. Virtual-8086 Mode Segmentation
7.3. Protected Mode Segmented-Memory Models
7.4. Segment Registers in 64-Bit Mode
1- Introduction
In my college studied microprocessor, it was talk about architectural features of
the x86 processor family, so I write this report to talk about 64x Architecture and
explain what is the difference between this two Architecture and what is the additional
parts in 64x Architecture.
First what is 64x Architecture? In computer architecture, 64-bit computing is the use
of processors that have datapath widths, integer size, and memory address widths of 64
bits (eight octets). Also, 64-bit computer architectures for central processing units
(CPUs) and arithmetic logic units (ALUs) are those that are based on processor
registers, address buses, or data buses of that size. From the software perspective, 64-
bit computing means the use of code with 64-bit virtual memory addresses.
The term 64-bit describes a generation of computers in which 64-bit processors are the
norm. 64 bits is a word size that defines certain classes of computer architecture, buses,
memory and CPUs, and by extension the software that runs on them.
1- Introduction
Second why microprocessor engineers developed 64x architecture? In the
early 90s, many engineers at Intel believed that x86 would soon hit a performance
ceiling. In a personal communication, Dave Cutler elaborated When the IA64 project
was started it was perceived that the performance of RISC machines would outstrip that
of Complex Instruction Set Computing (CISC) machines. They felt that they could get
higher performance with a Very Large Instruction Word (VLIW) architecture than they
could with a CISC architecture. The x86/x64 implementations have been able to master
these complicated implementation techniques (out of order, superscalar, speculative
execution) which was not thought possible 10-15 years ago in the RISC era.
Bhandarkar confirmed that Intel perceived an x86 performance ceiling. He explained
that the Pentium Pro design team was believed to be embarking on an ambitious and
somewhat risky project to achieve performance advances with x86 that were only
expected to be possible for RISC designs.
Some supercomputer architectures of the 1970s and 1980s, such as the Cray-1,
used registers up to 64 bits wide, and supported 64-bit integer arithmetic, although they
did not support 64-bit addressing. In the mid 1980s, Intel i860 development began
culminating in a (too late for Windows NT) 1989 release, the i860 had 32-bit integer
registers and 32-bit addressing, so it was not a fully 64-bit processor, although its
graphics unit supported 64-bit integer arithmetic. However, 32 bits remained the norm
until the early 1990s, when the continual reductions in the cost of memory led to
installations with amounts of RAM approaching 4 GB, and the use of virtual memory
spaces exceeding the 4 GB ceiling became desirable for handling certain types of
problems.
2- The history of 64x architecture
2- The history of 64x architecture
In response, MIPS and DEC developed 64-bit microprocessor architectures,
initially for high-end workstation and server machines. By the mid-1990s, HAL
Computer Systems, Sun Microsystems, IBM, Silicon Graphics, and Hewlett Packard
had developed 64-bit architectures for their workstation and server systems. A notable
exception to this trend were mainframes from IBM, which then used 32-bit data and
31-bit address sizes; the IBM mainframes did not include 64-bit processors until 2000.
During the 1990s, several low-cost 64-bit microprocessors were used in consumer
electronics and embedded applications. Notably, the Nintendo 64 and the PlayStation 2
had 64-bit microprocessors before their introduction in personal computers. High-end
printers, network equipment, and industrial computers, also used 64-bit
microprocessors, such as the Quantum Effect Devices R5000. 64-bit computing started
to drift down to the personal computer desktop from 2003 onward, when some models
in Apple's Macintosh lines switched to PowerPC 970 processors (termed G5 by Apple),
and AMD released its first 64-bit x86-64 processor.
The legacy x86 architecture provides four operating modes or environments
that support varying
forms of memory management, virtual-memory and physical-memory sizes,
and protection:
• Real Mode. • Protected Mode.
• Virtual-8086 Mode. • System Management Mode.
The AMD64 architecture supports all these legacy modes, and it adds a new
operating mode
• long mode. • 64-Bit Mode
• Compatibility Mode
3- Mode of operation
Legacy mode consists of three submodes: real mode, protected mode, and
virtual-8086 mode.
Protected mode can be either paged or unpaged. Legacy mode preserves binary
compatibility not only with existing x86 16-bit and 32-bit applications but also with
existing x86 16-bit and 32-bit system software.
3.1.1- Real Mode:
In this mode, also called real-address mode, the processor supports a physical-memory
space of 1 Mbyte and operand sizes of 16 bits (default) or 32 bits (with instruction
prefixes). Interrupt handling and address generation are nearly identical to the 80286
processor's real mode. Paging is not supported. All software runs at privilege level 0.
3.1- Legacy Modes
3- Mode of operation
3.1.2- Protected Mode:
In this mode, the processor supports virtual-memory and physical-memory spaces of 4
Gbytes and operand sizes of 16 or 32 bits. All segment translation, segment protection,
and hardware multitasking functions are available. System software can use
segmentation to relocate effective addresses in virtual-address space. If paging is not
enabled, virtual addresses are equal to physical addresses. Paging can be optionally
enabled to allow translation of virtual addresses to physical addresses and to use the
page-based memory-protection mechanisms.
3.1- Legacy Modes
3- Mode of operation
3.1.3- Virtual-8086 Mode:
Virtual-8086 mode allows system software to run 16-bit real-mode software on a
virtualized-8086 processor. In this mode, software written for the 8086, 8088, 80186, or
80188 processor can run as a privilege-level-3 task under protected mode. The
processor supports a virtual memory space of 1 Mbytes and operand sizes of 16 bits
(default) or 32 bits (with instruction prefixes), and it uses real-mode address
translation.
Virtual-8086 mode is not supported when the processor is operating in long mode.
When long mode is enabled, any attempt to enable virtual-8086 mode is silently
ignored.
3.1- Legacy Modes
3- Mode of operation
Long mode consists of two submodes: 64-bit mode and compatibility mode.
64-bit mode supports several new features, including the ability to address 64-bit
virtual address space. Compatibility mode provides binary compatibility with existing
16-bit and 32-bit applications when running on 64-bit system software. Throughout this
document, references to long mode refer collectively to both 64-bit mode and
compatibility mode. If a function is specific to either 64-bit mode or compatibility
mode, then those specific names are used instead of the name long mode.
3.2- Long Mode
3- Mode of operation
3.2.1- 64-Bit Mode
64-bit mode, a submode of long mode, provides support for 64-bit system
software and applications by adding the following features:
o 64-bit virtual addresses (processor implementations can have fewer).
o Access to General Purpose Register bits 63:32
o Access to additional registers through the REX, VEX, and XOP instruction prefixes
eight additional GPRs (R8–R15)
eight additional Streaming SIMD Extension (SSE) registers (YMM/XMM8–15)
o 64-bit instruction pointer (RIP).
o New RIP-relative data-addressing mode.
o Flat-segment address space with single code, data, and stack space.
3.2- Long Mode
3- Mode of operation
3.2.2- Compatibility Mode
Compatibility mode, a submode of long mode, allows system software to
implement binary compatibility with existing 16-bit and 32-bit x86 applications. It
allows these applications to run, without recompilation, under 64-bit system software in
long mode.
In compatibility mode, applications can only access the first 4 Gbytes of virtual-
address space. Standard x86 instruction prefixes toggle between 16-bit and 32-bit
address and operand sizes.
Compatibility mode, like 64-bit mode, is enabled by system software on an
individual code-segment basis. Unlike 64-bit mode, however, segmentation functions the
same as in the legacy-x86 architecture, using 16-bit or 32-bit protected-mode semantics.
From an application viewpoint, compatibility mode looks like a legacy protected-mode
environment. From a system software viewpoint, the long-mode mechanisms are used
for address translation, interrupt and exception handling, and system data-structures.
3.2- Long Mode
3- Mode of operation
3- Mode of operation
System management mode (SMM) is an operating mode designed for system-
control activities that are typically transparent to conventional system software. Power
management is one popular use for system management mode. SMM is primarily targeted
for use by the basic input-output system (BIOS) and specialized low-level device drivers.
The code and data for SMM are stored in the SMM memory area, which is isolated from
main memory by the SMM output signal.
3.3- System Management Mode (SMM)
Registers are high-speed storage locations directly inside the CPU, designed to
be accessed at much higher speed than conventional memory. When a processing loop
is optimized for speed, for example, loop counters are held in registers rather than
variables. Figure 3 shows the basic program execution registers. There are eight
general-purpose registers, six segment registers, a processor status flags register
(EFLAGS), and an instruction pointer (EIP).
4- Register set
in 32x architecture register set there are six type of register.
4.1.1- General-Purpose Registers
The general-purpose registers are primarily used for arithmetic and data
movement. the lower 16 bits of the EAX register can be referenced by the name AX.
Portions of some registers can be addressed as 8-bit values. For example, the
AX register, has an8-bit upper half named AH and an 8-bit lower half named AL.
4.1.2- Segment Registers
In real-address mode, 16-bit segment registers indicate base addresses of
preassigned memory areas named segments. In protected mode, segment registers hold
pointers to segment descriptor tables. Some segments hold program instructions (code),
others hold variables (data), and another segment named the stack segment holds local
function variables and function parameters.
4.1- 32x architecture register set
4- Register set
4.1.3- Instruction Pointer
The EIP, or instruction pointer, register contains the address of the next
instruction to be executed. Certain machine instructions manipulate EIP, causing the
program to branch to a new location.
4.1.4- EFLAGS Register
The EFLAGS (or just Flags) register consists of individual binary bits that
control the operation of the CPU or reflect the outcome of some CPU operation. Some
instructions test and manipulate individual processor flags.
4.1- 32x architecture register set
4- Register set
4.1.5- MMX Registers
MMX technology was added onto the Pentium processor by Intel to improve
the performance of advanced multimedia and communications applications. The eight
64-bit MMX registers support special instructions called SIMD (Single-Instruction,
Multiple-Data). As the name implies, MMX instructions operate in parallel on the data
values contained in MMX registers. Although they appear to be separate registers, the
MMX register names are in fact aliases to the same registers used by the floating-point
unit.
4.1.6- XMM Registers
The x86 architecture also contains eight 128-bit registers called XMM
registers. They are used by streaming SIMD extensions to the instruction set.
4.1- 32x architecture register set
4- Register set
The AMD64 architecture adds additional registers to the architecture, and in
many cases expands the size of existing registers to 64 bits. The 80-bit floating-point
stack registers and their overlaid 64-bit MMX™ registers are not modified by the
AMD64 architecture.
4.2.1- General-Purpose Registers
In 64-bit mode, the general-purpose registers (GPRs) are 64 bits wide, and
eight additional GPRs are available. The GPRs are: RAX, RBX, RCX, RDX, RDI, RSI,
RBP, RSP, and the new R8–R15 registers. To access the full 64-bit operand size, or the
new R8–R15 registers, an instruction must include a new REX instruction-prefix byte
(see “REX Prefixes” on page 29 for a summary of this prefix).
In compatibility and legacy modes, the GPRs consist only of the eight legacy
32-bit registers. All legacy rules apply for determining operand size.
4.2- 64x architecture register set
4- Register set
4.2.2- YMM/XMM Registers
In 64-bit mode, eight additional YMM/XMM registers are available,
YMM/XMM8–15. A REX instruction prefix is used to access these registers. In
compatibility and legacy modes, only registers YMM/XMM0–7 are accessible.
4.2.3- Flags Register
The flags register is expanded to 64 bits, and is called RFLAGS. All 64 bits can
be accessed in 64-bit mode, but the upper 32 bits are reserved and always read back as
zeros. Compatibility mode and legacy mode can read and write only the lower-32 bits
of RFLAGS (the legacy EFLAGS).
4.2.4 Instruction Pointer
In long mode, the instruction pointer is extended to 64 bits, to support 64-bit
code offsets. This 64-bit instruction pointer is called RIP.
4.2- 64x architecture register set
4- Register set
4.2.5 Stack Pointer
In 64-bit mode, the size of the stack pointer, RSP, is always 64 bits. The stack
size is not controlled by a bit in the SS descriptor, as it is in compatibility or legacy
mode, nor can it be overridden by an instruction prefix. Address-size overrides are
ignored for implicit stack references.
4.2.6 Control Registers
The AMD64 architecture defines several enhancements to the control registers
(CRn). In long mode, all control registers are expanded to 64 bits, although the entire
64 bits can be read and written only from 64-bit mode. A new control register, the task-
priority register (CR8 or TPR) is added, and can be read and written from 64-bit mode.
Last, the function of the page-enable bit (CR0.PG) is expanded. When long mode is
enabled, the PG bit is used to activate and deactivate long mode
4.2- 64x architecture register set
4- Register set
4.2.7 Debug Registers
In long mode, all debug registers are expanded to 64 bits, although the entire
64 bits can be read and written only from 64-bit mode. Expanded register encodings for
the decode registers allow up to eight new registers to be defined (DR8–DR15),
although presently those registers are not supported by the AMD64 architecture.
4.2.8 Extended Feature Register (EFER)
The EFER is expanded by the AMD64 architecture to include a long-mode-
enable bit (LME), and a long-mode-active bit (LMA). These new bits can be accessed
from legacy mode and long mode.
4.2- 64x architecture register set
4- Register set
4.2.9 Memory Type Range Registers (MTRRs)
The legacy MTRRs are architecturally defined as 64 bits, and can
accommodate the maximum 52-bit physical address allowed by the AMD64
architecture. From both long mode and legacy mode, implementations of the AMD64
architecture reference the entire 52-bit physical-address value stored in the MTRRs.
Long mode and legacy mode system software can update all 64 bits of the MTRRs to
manage the expanded physical-address space.
4.2- 64x architecture register set
4- Register set
4- Register set
4.2.10 Other Model-Specific Registers (MSRs)
Several other MSRs have fields holding physical addresses. Examples include
the APIC-base register and top-of-memory register. Generally, any model-specific
register that contains a physical address is defined architecturally to be 64 bits wide,
and can accommodate the maximum physical-address size defined by the AMD64
architecture. When physical addresses are read from MSRs by the processor, the entire
value is read regardless of the operating mode. In legacy implementations, the high-
order MSR bits are reserved, and software must write those values with zeros. In legacy
mode on AMD64 architecture implementations, software can read and write all
supported high-order MSR bits.
4.2- 64x architecture register set
5- computer memory organized hierarchy
A computer memory has to be organized in a hierarchy. In such a hierarchy,
larger and slower memories are used to supplement smaller and faster ones. if
we aside register of CPU, typical memory hierarchy starts with a small, expensive,
and relatively fast unit, called the cache, followed by a larger, less expensive, and
relatively slow main memory unit. Cache and main memory is called primary
memory that followed by larger, less expensive, and far slower magnetic memories that
consist typically of the (hard) disk and the tape. The disk is called the secondary
memory, while the tape is conventionally called the tertiary memory.
Generally, that not difference in memory hierarchy between 32x architecture
and 64x architecture, but, the difference in how this architecture store data on memory
and how use it.
x86 processors manage memory according to the basic modes of operation.
Protected mode is the most robust and powerful, but it does restrict application
programs from directly accessing system hardware.
6- Memory Management
In this mode (also referred to as Real Mode), the 386 behaves like a very fast
Intel 8086 CPU with a few new instructions and wider registers. The accessible address
space is officially limited to 1 megabyte, just like on the 8086 (although undocumented
features of the 386 allow addressing 4GB even in real mode). For compatibility with
earlier CPUs, the 386 starts operating in this mode after power on or reset.
In real mode, the processor calculates the physical address of a memory
reference by shifting the value of a segment register to the left by 4 binary digits and
then adding the offset address to this value. Thus, two 16-bit values (segment and
offset) are combined to form a single 20-bit physical address. There are no linear
addresses in real mode.
Under RTTarget-32, this mode is only used in the boot code. The boot code
starts executing in real mode and carries out most of the initialization. Subsequently, it
switches to 32-bit protected mode and never switches back.
6.1- Real-Address Mode
6- Memory Management
This mode supports several different address-space sizes, depending on the
translation mechanism used and whether extensions to those mechanisms are enabled.
Legacy protected mode supports 4 gigabytes of physical-address space using 32-bit
physical addresses. Both segment translation (see “Segmentation” on page 5) and page
translation (see “Paging” on page 7) can be used to access the physical address space,
when the processor is running in legacy protected mode.
When the physical-address size extensions are enabled (see “Physical-Address
Extensions (PAE “Bit” on page 121), the page-translation mechanism can be extended
to support 52-bit physical addresses. 52-bit physical addresses allow up to 4 petabytes
of physical-address space to be supported. (Currently, the AMD64 architecture supports
40-bit addresses in this mode, allowing up to 1 terabyte of physical-address space to be
supported.
The AMD64 architecture provides enhancements to the legacy memory model
to support very large physical-memory and virtual-memory spaces while in long mode.
Some of this expanded support for physical memory is available in legacy mode.
6.2- Protected Mode
6- Memory Management
Virtual-memory support is expanded to 64 address bits in long mode. This
allows up to 16 exabytes of virtual-address space to be accessed. The virtual-address
space supported in legacy mode is unchanged.
6.3- Virtual-Memory Addressing.
6- Memory Management
Physical-memory support is expanded to 52 address bits in long mode and
legacy mode. This allows up to 4 petabytes of physical memory to be accessed. The
expanded physical-memory support is achieved by using paging and the page-size
extensions. Note that given processor may implement less than the architecturally-
defined physical address size of 52 bits.
6.4- Physical-Memory Addressing.
6- Memory Management
6- Memory Management
The effective-address length is expanded to 64 bits in long mode. An effective-
address calculation uses 64-bit base and index registers, and sign-extends 8-bit and 32-
bit displacements to 64 bits. In legacy mode, effective addresses remain 32 bits long.
6.5- Effective Addressing.
7- Segmented Virtual Memory
The legacy x86 architecture supports a segment-translation mechanism that
allows system software to relocate and isolate instructions and data anywhere in the
virtual-memory space. A segment is a contiguous block of memory within the linear
address space. The size and location of a segment within the linear address space is
arbitrary. Instructions and data can be assigned to one or more memory segments, each
with its own protection characteristics. The processor hardware enforces the rules
dictating whether one segment can access another segment.
7- Segmented Virtual Memory
The segmentation mechanism provides ten segment registers, each of which
defines a single segment. Six of these registers (CS, DS, ES, FS, GS, and SS) define
user segments. User segments hold software, data, and the stack and can be used by
both application software and system software. The remaining four segment registers
(GDT, LDT, IDT, and TR) define system segments. System segments contain data
structures initialized and used only by system software. Segment registers contain a
base address pointing to the starting location of a segment, a limit defining the segment
size, and attributes defining the segment-protection characteristics.
7- Segmented Virtual Memory
In long mode, the effects of segmentation depend on whether the processor is running
in compatibility mode or 64-bit mode:
• In compatibility mode, segmentation functions just as it does in legacy mode, using
legacy 16-bit or 32-bit protected mode semantics
• 64-bit mode, segmentation is disabled, creating a flat 64-bit virtual-address space. As
will be seen, certain functions of some segment registers, particularly the system-
segment registers, continue to be used in 64-bit mode.
7- Segmented Virtual Memory
After reset or power-up, the processor always initially enters real mode.
Protected modes are entered from real mode.
Real mode (real-address mode), provides a physicalmemory space of 1 Mbyte.
In this mode, a 20-bit physical address is determined by shifting a 16-bit segment
selector to the left four bits and adding the 16-bit effective address.
Each 64K segment (CS, DS, ES, FS, GS, SS) is aligned on 16-byte boundaries.
The segment base is the lowest address in a given segment, and is equal to the segment
selector * 16. The POP and MOV instructions can be used to load a (possibly) new
segment selector into one of the segment registers. When this occurs, the selector is
updated and the selector base is set to selector * 16. The segment limit and segment
attributes are unchanged, but are normally 64K (the maximum allowable limit) and
read/write data, respectively.
7.1- Real Mode Segmentation
7- Segmented Virtual Memory
Virtual-8086 mode supports 16-bit real mode programs running under
protected mode (see below). It uses a simple form of memory segmentation, optional
paging, and limited protection checking. Programs running in virtual-8086 mode can
access up to 1MB of memory space.
As with real mode segmentation, each 64K segment (CS, DS, ES, FS, GS, SS)
is aligned on 16-byte boundaries. The segment base is the lowest address in a given
segment, and is equal to the segment selector * 16. The POP and MOV instructions
work exactly as in real mode and can be used to load a (possibly) new segment selector
into one of the segment registers. When this occurs, the selector is updated and the
selector base is set to selector * 16. The segment limit and segment attributes are
unchanged, but are normally 64K (the maximum allowable limit) and read/write data,
respectively.
7.2- Virtual-8086 Mode Segmentation
7- Segmented Virtual Memory
System software can use the segmentation mechanism to support one of two
basic segmented-memory models: a flat-memory model or a multi-segmented model.
These segmentation models are supported in legacy mode and in compatibility mode.
Each type of model is described in the following sections.
7.3- Protected Mode Segmented-Memory Models
7- Segmented Virtual Memory
7.3.1- Multi-Segmented Model
In the multi-segmented memory model, each segment register can reference a
unique base address with a unique segment size. Segments can be as small as a single
byte or as large as 4 Gbytes.
When page translation is used, multiple segments can be mapped to a single
page and multiple pages can be mapped to a single segment.
The multi-segmented memory model provides the greatest level of flexibility
for system software using the segmentation mechanism.
Compatibility mode allows the multi-segmented model to be used in support
of legacy software. However, in compatibility mode, the multi-segmented memory
model is restricted to the first 4 Gbytes of virtual-memory space. Access to virtual
memory above 4 Gbytes requires the use of 64-bit mode, which does not support
segmentation.
7.3- Protected Mode Segmented-Memory Models
7- Segmented Virtual Memory
7.3.2- Flat-Memory Model
The flat-memory model is the simplest form of segmentation to implement.
Although segmentation cannot be disabled, the flat-memory model allows system
software to bypass most of the segmentation mechanism. In the flat-memory model, all
segment-base addresses have a value of 0 and the segment limits are fixed at 4 Gbytes.
Clearing the segment-base value to 0 effectively disables segment translation, resulting
in a single segment spanning the entire virtual-address space. All segment descriptors
reference this single, flat segment
7.3- Protected Mode Segmented-Memory Models
7- Segmented Virtual Memory
7.3.3- Segmentation in 64-Bit Mode
In 64-bit mode, segmentation is disabled. The segment-base value is ignored
and treated as 0 by the segmentation hardware. Likewise, segment limits and most
attributes are ignored. There are a few exceptions. The CS-segment DPL, D, and L
attributes are used (respectively) to establish the privilege level for a program, the
default operand size, and whether the program is running in 64-bit mode or
compatibility mode. The FS and GS segments can be used as additional base registers
in address calculations, and those segments can have non-zero base-address values.
This facilitates addressing thread-local data and certain system-software data structures.
See “FS and GS Registers in 64-Bit Mode” on page 72 for details about the FS and GS
segments in 64-bit mode. The system-segment registers are always used in 64-bit
mode.
7.3- Protected Mode Segmented-Memory Models
7- Segmented Virtual Memory
• CS Register in 64-Bit Mode.
In 64-bit mode, most of the hidden portion of the CS register is ignored. Only
the L (long), D (default operation size), and DPL (descriptor privilege-level) attributes
are recognized by 64-bit mode. Address calculations assume a CS.base value of 0. CS
references do not check the CS.limit value, but instead check that the effective address
is in canonical form.
• DS, ES, and SS Registers in 64-Bit Mode.
In 64-bit mode, the contents of the ES, DS, and SS segment registers are
ignored. All fields (base, limit, and attribute) in the hidden portion of the segment
registers are ignored.
7.4- Segment Registers in 64-Bit Mode
7- Segmented Virtual Memory
Address calculations in 64-bit mode that reference the ES, DS, or SS segments
are treated as if the segment base is 0. Instead of performing limit checks, the processor
checks that all virtual-address references are in canonical form. Neither enabling and
activating long mode nor switching between 64-bit and compatibility modes changes
the contents of the visible or hidden portions of the segment registers. These registers
remain unchanged during 64-bit mode execution unless explicit segment loads are
performed.
• FS and GS Registers in 64-Bit Mode.
Unlike the CS, DS, ES, and SS segments, the FS and GS segment overrides can
be used in 64-bit mode. When FS and GS segment overrides are used in 64-bit mode,
their respective base addresses are used in the effective-address (EA) calculation. The
complete EA calculation then becomes (FS or GS).base + base + (scale ∗ index) +
displacement. The FS.base and GS.base values are also expanded to the full 64-bit
virtual-address size, In 64-bit mode, FS-segment and GS-segment overrides are not
checked for limit or attributes.
7.4- Segment Registers in 64-Bit Mode
Conclusion
At the end of this report and after a review of the most important additions that
made to the 64x architecture at the memory, registers, and other component. As well as
to set the changes in the mode of operation like appeared long mode, and in the
memory segmentation. Finally, the different in the addressing mode between both
architectures.
From this we conclude that all of these additions that would increase the speed
of processing and transmission of data and stored it in a protected way. As well as
giving greater freedom for programmers, but freedom is restricted
It was the main purpose of the appearance of this architecture is to increase the
speed and give a larger amount of data protection, after a increase computer use in the
different disciplines.

More Related Content

What's hot

0.2 evolution of microprocessor
0.2 evolution of microprocessor0.2 evolution of microprocessor
0.2 evolution of microprocessorsubhamsriramka
 
History of microprocessors
History of microprocessorsHistory of microprocessors
History of microprocessorsEmrah Aptoula
 
Core 2 Duo Processor
Core 2 Duo ProcessorCore 2 Duo Processor
Core 2 Duo ProcessorKashif Latif
 
Evolution of microprocessors
Evolution of microprocessorsEvolution of microprocessors
Evolution of microprocessorsHarshitParkar6677
 
Evolution of microprocessors
Evolution of microprocessorsEvolution of microprocessors
Evolution of microprocessorsAnas Abrar
 
Core 2 processors
Core 2 processorsCore 2 processors
Core 2 processorsArun Kumar
 
Architecture of 80286 microprocessor
Architecture of 80286 microprocessorArchitecture of 80286 microprocessor
Architecture of 80286 microprocessorSyed Ahmed Zaki
 
Evolution of Microprocessor
Evolution of MicroprocessorEvolution of Microprocessor
Evolution of MicroprocessorFarahNawar
 
Computer System Architecture Lecture Note 4: intel microprocessors
Computer System Architecture Lecture Note 4: intel microprocessorsComputer System Architecture Lecture Note 4: intel microprocessors
Computer System Architecture Lecture Note 4: intel microprocessorsBudditha Hettige
 
Virtual Memory In Contemporary Microprocessors And 64-Bit Microprocessors Arc...
Virtual Memory In Contemporary Microprocessors And 64-Bit Microprocessors Arc...Virtual Memory In Contemporary Microprocessors And 64-Bit Microprocessors Arc...
Virtual Memory In Contemporary Microprocessors And 64-Bit Microprocessors Arc...Anurag Deb
 
Genesis & Progression of Processors in CPU
Genesis & Progression of Processors in CPUGenesis & Progression of Processors in CPU
Genesis & Progression of Processors in CPUAnkita Jangir
 
A presentation on Evaluation of Microprocessor
A presentation on Evaluation of MicroprocessorA presentation on Evaluation of Microprocessor
A presentation on Evaluation of MicroprocessorShah Imtiyaj
 
History Of Microprocessors
History Of Microprocessors History Of Microprocessors
History Of Microprocessors Abdullah Tariq
 
Report on evolution of processor by sandesh agrawal
Report on evolution of processor by sandesh agrawalReport on evolution of processor by sandesh agrawal
Report on evolution of processor by sandesh agrawalSandesh Agrawal
 
Intel microprocessor history
Intel microprocessor historyIntel microprocessor history
Intel microprocessor historyRamzi Alqrainy
 

What's hot (20)

0.2 evolution of microprocessor
0.2 evolution of microprocessor0.2 evolution of microprocessor
0.2 evolution of microprocessor
 
History of microprocessors
History of microprocessorsHistory of microprocessors
History of microprocessors
 
Evolution of Microprocessor
Evolution of MicroprocessorEvolution of Microprocessor
Evolution of Microprocessor
 
Core 2 Duo Processor
Core 2 Duo ProcessorCore 2 Duo Processor
Core 2 Duo Processor
 
Evolution of microprocessors
Evolution of microprocessorsEvolution of microprocessors
Evolution of microprocessors
 
Evolution of microprocessors
Evolution of microprocessorsEvolution of microprocessors
Evolution of microprocessors
 
Ieee Intel
Ieee IntelIeee Intel
Ieee Intel
 
Core 2 processors
Core 2 processorsCore 2 processors
Core 2 processors
 
Risc revolution
Risc revolutionRisc revolution
Risc revolution
 
Architecture of 80286 microprocessor
Architecture of 80286 microprocessorArchitecture of 80286 microprocessor
Architecture of 80286 microprocessor
 
Evolution of Microprocessor
Evolution of MicroprocessorEvolution of Microprocessor
Evolution of Microprocessor
 
Computer System Architecture Lecture Note 4: intel microprocessors
Computer System Architecture Lecture Note 4: intel microprocessorsComputer System Architecture Lecture Note 4: intel microprocessors
Computer System Architecture Lecture Note 4: intel microprocessors
 
Mp evolution
Mp evolutionMp evolution
Mp evolution
 
Virtual Memory In Contemporary Microprocessors And 64-Bit Microprocessors Arc...
Virtual Memory In Contemporary Microprocessors And 64-Bit Microprocessors Arc...Virtual Memory In Contemporary Microprocessors And 64-Bit Microprocessors Arc...
Virtual Memory In Contemporary Microprocessors And 64-Bit Microprocessors Arc...
 
Genesis & Progression of Processors in CPU
Genesis & Progression of Processors in CPUGenesis & Progression of Processors in CPU
Genesis & Progression of Processors in CPU
 
A presentation on Evaluation of Microprocessor
A presentation on Evaluation of MicroprocessorA presentation on Evaluation of Microprocessor
A presentation on Evaluation of Microprocessor
 
IBM System Storage TS3500 Tape Library
IBM System Storage TS3500 Tape LibraryIBM System Storage TS3500 Tape Library
IBM System Storage TS3500 Tape Library
 
History Of Microprocessors
History Of Microprocessors History Of Microprocessors
History Of Microprocessors
 
Report on evolution of processor by sandesh agrawal
Report on evolution of processor by sandesh agrawalReport on evolution of processor by sandesh agrawal
Report on evolution of processor by sandesh agrawal
 
Intel microprocessor history
Intel microprocessor historyIntel microprocessor history
Intel microprocessor history
 

Similar to Cpu 64x architecture

AMD64 (EM64T) architecture
AMD64 (EM64T) architectureAMD64 (EM64T) architecture
AMD64 (EM64T) architecturePVS-Studio
 
64 bit computing
64 bit computing64 bit computing
64 bit computingAnkita Nema
 
Richard_Baker-Intel_I-32_Processor_Architecture_Overview
Richard_Baker-Intel_I-32_Processor_Architecture_OverviewRichard_Baker-Intel_I-32_Processor_Architecture_Overview
Richard_Baker-Intel_I-32_Processor_Architecture_OverviewRichard Baker
 
Microprocessor Unit -1 SE computer-II.pptx
Microprocessor  Unit -1 SE computer-II.pptxMicroprocessor  Unit -1 SE computer-II.pptx
Microprocessor Unit -1 SE computer-II.pptxakshathsingh2003
 
The reasons why 64-bit programs require more stack memory
The reasons why 64-bit programs require more stack memoryThe reasons why 64-bit programs require more stack memory
The reasons why 64-bit programs require more stack memoryPVS-Studio
 
Optimization of 64-bit programs
Optimization of 64-bit programsOptimization of 64-bit programs
Optimization of 64-bit programsPVS-Studio
 
Lesson 19. Pattern 11. Serialization and data interchange
Lesson 19. Pattern 11. Serialization and data interchangeLesson 19. Pattern 11. Serialization and data interchange
Lesson 19. Pattern 11. Serialization and data interchangePVS-Studio
 
A 64 BITS ROTOR ENHANCED BLOCK CIPHER (REBC3)
A 64 BITS ROTOR ENHANCED BLOCK CIPHER (REBC3)A 64 BITS ROTOR ENHANCED BLOCK CIPHER (REBC3)
A 64 BITS ROTOR ENHANCED BLOCK CIPHER (REBC3)IJNSA Journal
 
Microprocessors & Microcomputers Lecture Notes
Microprocessors & Microcomputers Lecture NotesMicroprocessors & Microcomputers Lecture Notes
Microprocessors & Microcomputers Lecture NotesFellowBuddy.com
 

Similar to Cpu 64x architecture (20)

64 bits for developers
64 bits for developers64 bits for developers
64 bits for developers
 
AMD64 (EM64T) architecture
AMD64 (EM64T) architectureAMD64 (EM64T) architecture
AMD64 (EM64T) architecture
 
64 bit computing
64 bit computing64 bit computing
64 bit computing
 
Richard_Baker-Intel_I-32_Processor_Architecture_Overview
Richard_Baker-Intel_I-32_Processor_Architecture_OverviewRichard_Baker-Intel_I-32_Processor_Architecture_Overview
Richard_Baker-Intel_I-32_Processor_Architecture_Overview
 
It322 intro 2
It322 intro 2It322 intro 2
It322 intro 2
 
Advanced microprocessor
Advanced microprocessorAdvanced microprocessor
Advanced microprocessor
 
Mpmc
MpmcMpmc
Mpmc
 
Operating system
Operating systemOperating system
Operating system
 
Microprocessor Unit -1 SE computer-II.pptx
Microprocessor  Unit -1 SE computer-II.pptxMicroprocessor  Unit -1 SE computer-II.pptx
Microprocessor Unit -1 SE computer-II.pptx
 
64 bit arch
64 bit arch64 bit arch
64 bit arch
 
Ijnsa050206
Ijnsa050206Ijnsa050206
Ijnsa050206
 
The reasons why 64-bit programs require more stack memory
The reasons why 64-bit programs require more stack memoryThe reasons why 64-bit programs require more stack memory
The reasons why 64-bit programs require more stack memory
 
64 bits
64 bits64 bits
64 bits
 
U I - 4. 80386 Real mode.pptx
U I - 4. 80386 Real mode.pptxU I - 4. 80386 Real mode.pptx
U I - 4. 80386 Real mode.pptx
 
Mips 64
Mips 64Mips 64
Mips 64
 
Optimization of 64-bit programs
Optimization of 64-bit programsOptimization of 64-bit programs
Optimization of 64-bit programs
 
Lesson 19. Pattern 11. Serialization and data interchange
Lesson 19. Pattern 11. Serialization and data interchangeLesson 19. Pattern 11. Serialization and data interchange
Lesson 19. Pattern 11. Serialization and data interchange
 
Ijetr042175
Ijetr042175Ijetr042175
Ijetr042175
 
A 64 BITS ROTOR ENHANCED BLOCK CIPHER (REBC3)
A 64 BITS ROTOR ENHANCED BLOCK CIPHER (REBC3)A 64 BITS ROTOR ENHANCED BLOCK CIPHER (REBC3)
A 64 BITS ROTOR ENHANCED BLOCK CIPHER (REBC3)
 
Microprocessors & Microcomputers Lecture Notes
Microprocessors & Microcomputers Lecture NotesMicroprocessors & Microcomputers Lecture Notes
Microprocessors & Microcomputers Lecture Notes
 

More from AmmAr mobark

File system security
File system securityFile system security
File system securityAmmAr mobark
 
Finite state automaton
Finite state automatonFinite state automaton
Finite state automatonAmmAr mobark
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect predictionAmmAr mobark
 

More from AmmAr mobark (6)

الانترنت
الانترنتالانترنت
الانترنت
 
Vpn
VpnVpn
Vpn
 
E learning
E learningE learning
E learning
 
File system security
File system securityFile system security
File system security
 
Finite state automaton
Finite state automatonFinite state automaton
Finite state automaton
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect prediction
 

Recently uploaded

buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 

Recently uploaded (20)

buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 

Cpu 64x architecture

  • 1. CPU 64x architecture By: AmmAr mobark Second stage Software department Babylon university Information Technology collage Dec. 2016
  • 2. Index 1. Introduction 2. The history of 64x architecture 3. Mode of operation 3.1. Legacy Modes 3.2. Long Mode 4. Register set 4.1. 32x architecture register set 4.2. 64x architecture register set 5. computer memory organized hierarchy
  • 3. Index 6. Memory Management 6.1. Real-Address Mode 6.2. Protected Mode 6.3. Virtual-Memory Addressing. 6.4. Physical-Memory Addressing. 6.5. Effective Addressing. 7. Segmented Virtual Memory 7.1. Real Mode Segmentation 7.2. Virtual-8086 Mode Segmentation 7.3. Protected Mode Segmented-Memory Models 7.4. Segment Registers in 64-Bit Mode
  • 4. 1- Introduction In my college studied microprocessor, it was talk about architectural features of the x86 processor family, so I write this report to talk about 64x Architecture and explain what is the difference between this two Architecture and what is the additional parts in 64x Architecture. First what is 64x Architecture? In computer architecture, 64-bit computing is the use of processors that have datapath widths, integer size, and memory address widths of 64 bits (eight octets). Also, 64-bit computer architectures for central processing units (CPUs) and arithmetic logic units (ALUs) are those that are based on processor registers, address buses, or data buses of that size. From the software perspective, 64- bit computing means the use of code with 64-bit virtual memory addresses. The term 64-bit describes a generation of computers in which 64-bit processors are the norm. 64 bits is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them.
  • 5. 1- Introduction Second why microprocessor engineers developed 64x architecture? In the early 90s, many engineers at Intel believed that x86 would soon hit a performance ceiling. In a personal communication, Dave Cutler elaborated When the IA64 project was started it was perceived that the performance of RISC machines would outstrip that of Complex Instruction Set Computing (CISC) machines. They felt that they could get higher performance with a Very Large Instruction Word (VLIW) architecture than they could with a CISC architecture. The x86/x64 implementations have been able to master these complicated implementation techniques (out of order, superscalar, speculative execution) which was not thought possible 10-15 years ago in the RISC era. Bhandarkar confirmed that Intel perceived an x86 performance ceiling. He explained that the Pentium Pro design team was believed to be embarking on an ambitious and somewhat risky project to achieve performance advances with x86 that were only expected to be possible for RISC designs.
  • 6. Some supercomputer architectures of the 1970s and 1980s, such as the Cray-1, used registers up to 64 bits wide, and supported 64-bit integer arithmetic, although they did not support 64-bit addressing. In the mid 1980s, Intel i860 development began culminating in a (too late for Windows NT) 1989 release, the i860 had 32-bit integer registers and 32-bit addressing, so it was not a fully 64-bit processor, although its graphics unit supported 64-bit integer arithmetic. However, 32 bits remained the norm until the early 1990s, when the continual reductions in the cost of memory led to installations with amounts of RAM approaching 4 GB, and the use of virtual memory spaces exceeding the 4 GB ceiling became desirable for handling certain types of problems. 2- The history of 64x architecture
  • 7. 2- The history of 64x architecture In response, MIPS and DEC developed 64-bit microprocessor architectures, initially for high-end workstation and server machines. By the mid-1990s, HAL Computer Systems, Sun Microsystems, IBM, Silicon Graphics, and Hewlett Packard had developed 64-bit architectures for their workstation and server systems. A notable exception to this trend were mainframes from IBM, which then used 32-bit data and 31-bit address sizes; the IBM mainframes did not include 64-bit processors until 2000. During the 1990s, several low-cost 64-bit microprocessors were used in consumer electronics and embedded applications. Notably, the Nintendo 64 and the PlayStation 2 had 64-bit microprocessors before their introduction in personal computers. High-end printers, network equipment, and industrial computers, also used 64-bit microprocessors, such as the Quantum Effect Devices R5000. 64-bit computing started to drift down to the personal computer desktop from 2003 onward, when some models in Apple's Macintosh lines switched to PowerPC 970 processors (termed G5 by Apple), and AMD released its first 64-bit x86-64 processor.
  • 8. The legacy x86 architecture provides four operating modes or environments that support varying forms of memory management, virtual-memory and physical-memory sizes, and protection: • Real Mode. • Protected Mode. • Virtual-8086 Mode. • System Management Mode. The AMD64 architecture supports all these legacy modes, and it adds a new operating mode • long mode. • 64-Bit Mode • Compatibility Mode 3- Mode of operation
  • 9. Legacy mode consists of three submodes: real mode, protected mode, and virtual-8086 mode. Protected mode can be either paged or unpaged. Legacy mode preserves binary compatibility not only with existing x86 16-bit and 32-bit applications but also with existing x86 16-bit and 32-bit system software. 3.1.1- Real Mode: In this mode, also called real-address mode, the processor supports a physical-memory space of 1 Mbyte and operand sizes of 16 bits (default) or 32 bits (with instruction prefixes). Interrupt handling and address generation are nearly identical to the 80286 processor's real mode. Paging is not supported. All software runs at privilege level 0. 3.1- Legacy Modes 3- Mode of operation
  • 10. 3.1.2- Protected Mode: In this mode, the processor supports virtual-memory and physical-memory spaces of 4 Gbytes and operand sizes of 16 or 32 bits. All segment translation, segment protection, and hardware multitasking functions are available. System software can use segmentation to relocate effective addresses in virtual-address space. If paging is not enabled, virtual addresses are equal to physical addresses. Paging can be optionally enabled to allow translation of virtual addresses to physical addresses and to use the page-based memory-protection mechanisms. 3.1- Legacy Modes 3- Mode of operation
  • 11. 3.1.3- Virtual-8086 Mode: Virtual-8086 mode allows system software to run 16-bit real-mode software on a virtualized-8086 processor. In this mode, software written for the 8086, 8088, 80186, or 80188 processor can run as a privilege-level-3 task under protected mode. The processor supports a virtual memory space of 1 Mbytes and operand sizes of 16 bits (default) or 32 bits (with instruction prefixes), and it uses real-mode address translation. Virtual-8086 mode is not supported when the processor is operating in long mode. When long mode is enabled, any attempt to enable virtual-8086 mode is silently ignored. 3.1- Legacy Modes 3- Mode of operation
  • 12. Long mode consists of two submodes: 64-bit mode and compatibility mode. 64-bit mode supports several new features, including the ability to address 64-bit virtual address space. Compatibility mode provides binary compatibility with existing 16-bit and 32-bit applications when running on 64-bit system software. Throughout this document, references to long mode refer collectively to both 64-bit mode and compatibility mode. If a function is specific to either 64-bit mode or compatibility mode, then those specific names are used instead of the name long mode. 3.2- Long Mode 3- Mode of operation
  • 13. 3.2.1- 64-Bit Mode 64-bit mode, a submode of long mode, provides support for 64-bit system software and applications by adding the following features: o 64-bit virtual addresses (processor implementations can have fewer). o Access to General Purpose Register bits 63:32 o Access to additional registers through the REX, VEX, and XOP instruction prefixes eight additional GPRs (R8–R15) eight additional Streaming SIMD Extension (SSE) registers (YMM/XMM8–15) o 64-bit instruction pointer (RIP). o New RIP-relative data-addressing mode. o Flat-segment address space with single code, data, and stack space. 3.2- Long Mode 3- Mode of operation
  • 14. 3.2.2- Compatibility Mode Compatibility mode, a submode of long mode, allows system software to implement binary compatibility with existing 16-bit and 32-bit x86 applications. It allows these applications to run, without recompilation, under 64-bit system software in long mode. In compatibility mode, applications can only access the first 4 Gbytes of virtual- address space. Standard x86 instruction prefixes toggle between 16-bit and 32-bit address and operand sizes. Compatibility mode, like 64-bit mode, is enabled by system software on an individual code-segment basis. Unlike 64-bit mode, however, segmentation functions the same as in the legacy-x86 architecture, using 16-bit or 32-bit protected-mode semantics. From an application viewpoint, compatibility mode looks like a legacy protected-mode environment. From a system software viewpoint, the long-mode mechanisms are used for address translation, interrupt and exception handling, and system data-structures. 3.2- Long Mode 3- Mode of operation
  • 15. 3- Mode of operation System management mode (SMM) is an operating mode designed for system- control activities that are typically transparent to conventional system software. Power management is one popular use for system management mode. SMM is primarily targeted for use by the basic input-output system (BIOS) and specialized low-level device drivers. The code and data for SMM are stored in the SMM memory area, which is isolated from main memory by the SMM output signal. 3.3- System Management Mode (SMM)
  • 16. Registers are high-speed storage locations directly inside the CPU, designed to be accessed at much higher speed than conventional memory. When a processing loop is optimized for speed, for example, loop counters are held in registers rather than variables. Figure 3 shows the basic program execution registers. There are eight general-purpose registers, six segment registers, a processor status flags register (EFLAGS), and an instruction pointer (EIP). 4- Register set
  • 17. in 32x architecture register set there are six type of register. 4.1.1- General-Purpose Registers The general-purpose registers are primarily used for arithmetic and data movement. the lower 16 bits of the EAX register can be referenced by the name AX. Portions of some registers can be addressed as 8-bit values. For example, the AX register, has an8-bit upper half named AH and an 8-bit lower half named AL. 4.1.2- Segment Registers In real-address mode, 16-bit segment registers indicate base addresses of preassigned memory areas named segments. In protected mode, segment registers hold pointers to segment descriptor tables. Some segments hold program instructions (code), others hold variables (data), and another segment named the stack segment holds local function variables and function parameters. 4.1- 32x architecture register set 4- Register set
  • 18. 4.1.3- Instruction Pointer The EIP, or instruction pointer, register contains the address of the next instruction to be executed. Certain machine instructions manipulate EIP, causing the program to branch to a new location. 4.1.4- EFLAGS Register The EFLAGS (or just Flags) register consists of individual binary bits that control the operation of the CPU or reflect the outcome of some CPU operation. Some instructions test and manipulate individual processor flags. 4.1- 32x architecture register set 4- Register set
  • 19. 4.1.5- MMX Registers MMX technology was added onto the Pentium processor by Intel to improve the performance of advanced multimedia and communications applications. The eight 64-bit MMX registers support special instructions called SIMD (Single-Instruction, Multiple-Data). As the name implies, MMX instructions operate in parallel on the data values contained in MMX registers. Although they appear to be separate registers, the MMX register names are in fact aliases to the same registers used by the floating-point unit. 4.1.6- XMM Registers The x86 architecture also contains eight 128-bit registers called XMM registers. They are used by streaming SIMD extensions to the instruction set. 4.1- 32x architecture register set 4- Register set
  • 20. The AMD64 architecture adds additional registers to the architecture, and in many cases expands the size of existing registers to 64 bits. The 80-bit floating-point stack registers and their overlaid 64-bit MMX™ registers are not modified by the AMD64 architecture. 4.2.1- General-Purpose Registers In 64-bit mode, the general-purpose registers (GPRs) are 64 bits wide, and eight additional GPRs are available. The GPRs are: RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, and the new R8–R15 registers. To access the full 64-bit operand size, or the new R8–R15 registers, an instruction must include a new REX instruction-prefix byte (see “REX Prefixes” on page 29 for a summary of this prefix). In compatibility and legacy modes, the GPRs consist only of the eight legacy 32-bit registers. All legacy rules apply for determining operand size. 4.2- 64x architecture register set 4- Register set
  • 21. 4.2.2- YMM/XMM Registers In 64-bit mode, eight additional YMM/XMM registers are available, YMM/XMM8–15. A REX instruction prefix is used to access these registers. In compatibility and legacy modes, only registers YMM/XMM0–7 are accessible. 4.2.3- Flags Register The flags register is expanded to 64 bits, and is called RFLAGS. All 64 bits can be accessed in 64-bit mode, but the upper 32 bits are reserved and always read back as zeros. Compatibility mode and legacy mode can read and write only the lower-32 bits of RFLAGS (the legacy EFLAGS). 4.2.4 Instruction Pointer In long mode, the instruction pointer is extended to 64 bits, to support 64-bit code offsets. This 64-bit instruction pointer is called RIP. 4.2- 64x architecture register set 4- Register set
  • 22. 4.2.5 Stack Pointer In 64-bit mode, the size of the stack pointer, RSP, is always 64 bits. The stack size is not controlled by a bit in the SS descriptor, as it is in compatibility or legacy mode, nor can it be overridden by an instruction prefix. Address-size overrides are ignored for implicit stack references. 4.2.6 Control Registers The AMD64 architecture defines several enhancements to the control registers (CRn). In long mode, all control registers are expanded to 64 bits, although the entire 64 bits can be read and written only from 64-bit mode. A new control register, the task- priority register (CR8 or TPR) is added, and can be read and written from 64-bit mode. Last, the function of the page-enable bit (CR0.PG) is expanded. When long mode is enabled, the PG bit is used to activate and deactivate long mode 4.2- 64x architecture register set 4- Register set
  • 23. 4.2.7 Debug Registers In long mode, all debug registers are expanded to 64 bits, although the entire 64 bits can be read and written only from 64-bit mode. Expanded register encodings for the decode registers allow up to eight new registers to be defined (DR8–DR15), although presently those registers are not supported by the AMD64 architecture. 4.2.8 Extended Feature Register (EFER) The EFER is expanded by the AMD64 architecture to include a long-mode- enable bit (LME), and a long-mode-active bit (LMA). These new bits can be accessed from legacy mode and long mode. 4.2- 64x architecture register set 4- Register set
  • 24. 4.2.9 Memory Type Range Registers (MTRRs) The legacy MTRRs are architecturally defined as 64 bits, and can accommodate the maximum 52-bit physical address allowed by the AMD64 architecture. From both long mode and legacy mode, implementations of the AMD64 architecture reference the entire 52-bit physical-address value stored in the MTRRs. Long mode and legacy mode system software can update all 64 bits of the MTRRs to manage the expanded physical-address space. 4.2- 64x architecture register set 4- Register set
  • 25. 4- Register set 4.2.10 Other Model-Specific Registers (MSRs) Several other MSRs have fields holding physical addresses. Examples include the APIC-base register and top-of-memory register. Generally, any model-specific register that contains a physical address is defined architecturally to be 64 bits wide, and can accommodate the maximum physical-address size defined by the AMD64 architecture. When physical addresses are read from MSRs by the processor, the entire value is read regardless of the operating mode. In legacy implementations, the high- order MSR bits are reserved, and software must write those values with zeros. In legacy mode on AMD64 architecture implementations, software can read and write all supported high-order MSR bits. 4.2- 64x architecture register set
  • 26. 5- computer memory organized hierarchy A computer memory has to be organized in a hierarchy. In such a hierarchy, larger and slower memories are used to supplement smaller and faster ones. if we aside register of CPU, typical memory hierarchy starts with a small, expensive, and relatively fast unit, called the cache, followed by a larger, less expensive, and relatively slow main memory unit. Cache and main memory is called primary memory that followed by larger, less expensive, and far slower magnetic memories that consist typically of the (hard) disk and the tape. The disk is called the secondary memory, while the tape is conventionally called the tertiary memory. Generally, that not difference in memory hierarchy between 32x architecture and 64x architecture, but, the difference in how this architecture store data on memory and how use it.
  • 27. x86 processors manage memory according to the basic modes of operation. Protected mode is the most robust and powerful, but it does restrict application programs from directly accessing system hardware. 6- Memory Management
  • 28. In this mode (also referred to as Real Mode), the 386 behaves like a very fast Intel 8086 CPU with a few new instructions and wider registers. The accessible address space is officially limited to 1 megabyte, just like on the 8086 (although undocumented features of the 386 allow addressing 4GB even in real mode). For compatibility with earlier CPUs, the 386 starts operating in this mode after power on or reset. In real mode, the processor calculates the physical address of a memory reference by shifting the value of a segment register to the left by 4 binary digits and then adding the offset address to this value. Thus, two 16-bit values (segment and offset) are combined to form a single 20-bit physical address. There are no linear addresses in real mode. Under RTTarget-32, this mode is only used in the boot code. The boot code starts executing in real mode and carries out most of the initialization. Subsequently, it switches to 32-bit protected mode and never switches back. 6.1- Real-Address Mode 6- Memory Management
  • 29. This mode supports several different address-space sizes, depending on the translation mechanism used and whether extensions to those mechanisms are enabled. Legacy protected mode supports 4 gigabytes of physical-address space using 32-bit physical addresses. Both segment translation (see “Segmentation” on page 5) and page translation (see “Paging” on page 7) can be used to access the physical address space, when the processor is running in legacy protected mode. When the physical-address size extensions are enabled (see “Physical-Address Extensions (PAE “Bit” on page 121), the page-translation mechanism can be extended to support 52-bit physical addresses. 52-bit physical addresses allow up to 4 petabytes of physical-address space to be supported. (Currently, the AMD64 architecture supports 40-bit addresses in this mode, allowing up to 1 terabyte of physical-address space to be supported. The AMD64 architecture provides enhancements to the legacy memory model to support very large physical-memory and virtual-memory spaces while in long mode. Some of this expanded support for physical memory is available in legacy mode. 6.2- Protected Mode 6- Memory Management
  • 30. Virtual-memory support is expanded to 64 address bits in long mode. This allows up to 16 exabytes of virtual-address space to be accessed. The virtual-address space supported in legacy mode is unchanged. 6.3- Virtual-Memory Addressing. 6- Memory Management
  • 31. Physical-memory support is expanded to 52 address bits in long mode and legacy mode. This allows up to 4 petabytes of physical memory to be accessed. The expanded physical-memory support is achieved by using paging and the page-size extensions. Note that given processor may implement less than the architecturally- defined physical address size of 52 bits. 6.4- Physical-Memory Addressing. 6- Memory Management
  • 32. 6- Memory Management The effective-address length is expanded to 64 bits in long mode. An effective- address calculation uses 64-bit base and index registers, and sign-extends 8-bit and 32- bit displacements to 64 bits. In legacy mode, effective addresses remain 32 bits long. 6.5- Effective Addressing.
  • 33. 7- Segmented Virtual Memory The legacy x86 architecture supports a segment-translation mechanism that allows system software to relocate and isolate instructions and data anywhere in the virtual-memory space. A segment is a contiguous block of memory within the linear address space. The size and location of a segment within the linear address space is arbitrary. Instructions and data can be assigned to one or more memory segments, each with its own protection characteristics. The processor hardware enforces the rules dictating whether one segment can access another segment.
  • 34. 7- Segmented Virtual Memory The segmentation mechanism provides ten segment registers, each of which defines a single segment. Six of these registers (CS, DS, ES, FS, GS, and SS) define user segments. User segments hold software, data, and the stack and can be used by both application software and system software. The remaining four segment registers (GDT, LDT, IDT, and TR) define system segments. System segments contain data structures initialized and used only by system software. Segment registers contain a base address pointing to the starting location of a segment, a limit defining the segment size, and attributes defining the segment-protection characteristics.
  • 35. 7- Segmented Virtual Memory In long mode, the effects of segmentation depend on whether the processor is running in compatibility mode or 64-bit mode: • In compatibility mode, segmentation functions just as it does in legacy mode, using legacy 16-bit or 32-bit protected mode semantics • 64-bit mode, segmentation is disabled, creating a flat 64-bit virtual-address space. As will be seen, certain functions of some segment registers, particularly the system- segment registers, continue to be used in 64-bit mode.
  • 36. 7- Segmented Virtual Memory After reset or power-up, the processor always initially enters real mode. Protected modes are entered from real mode. Real mode (real-address mode), provides a physicalmemory space of 1 Mbyte. In this mode, a 20-bit physical address is determined by shifting a 16-bit segment selector to the left four bits and adding the 16-bit effective address. Each 64K segment (CS, DS, ES, FS, GS, SS) is aligned on 16-byte boundaries. The segment base is the lowest address in a given segment, and is equal to the segment selector * 16. The POP and MOV instructions can be used to load a (possibly) new segment selector into one of the segment registers. When this occurs, the selector is updated and the selector base is set to selector * 16. The segment limit and segment attributes are unchanged, but are normally 64K (the maximum allowable limit) and read/write data, respectively. 7.1- Real Mode Segmentation
  • 37. 7- Segmented Virtual Memory Virtual-8086 mode supports 16-bit real mode programs running under protected mode (see below). It uses a simple form of memory segmentation, optional paging, and limited protection checking. Programs running in virtual-8086 mode can access up to 1MB of memory space. As with real mode segmentation, each 64K segment (CS, DS, ES, FS, GS, SS) is aligned on 16-byte boundaries. The segment base is the lowest address in a given segment, and is equal to the segment selector * 16. The POP and MOV instructions work exactly as in real mode and can be used to load a (possibly) new segment selector into one of the segment registers. When this occurs, the selector is updated and the selector base is set to selector * 16. The segment limit and segment attributes are unchanged, but are normally 64K (the maximum allowable limit) and read/write data, respectively. 7.2- Virtual-8086 Mode Segmentation
  • 38. 7- Segmented Virtual Memory System software can use the segmentation mechanism to support one of two basic segmented-memory models: a flat-memory model or a multi-segmented model. These segmentation models are supported in legacy mode and in compatibility mode. Each type of model is described in the following sections. 7.3- Protected Mode Segmented-Memory Models
  • 39. 7- Segmented Virtual Memory 7.3.1- Multi-Segmented Model In the multi-segmented memory model, each segment register can reference a unique base address with a unique segment size. Segments can be as small as a single byte or as large as 4 Gbytes. When page translation is used, multiple segments can be mapped to a single page and multiple pages can be mapped to a single segment. The multi-segmented memory model provides the greatest level of flexibility for system software using the segmentation mechanism. Compatibility mode allows the multi-segmented model to be used in support of legacy software. However, in compatibility mode, the multi-segmented memory model is restricted to the first 4 Gbytes of virtual-memory space. Access to virtual memory above 4 Gbytes requires the use of 64-bit mode, which does not support segmentation. 7.3- Protected Mode Segmented-Memory Models
  • 40. 7- Segmented Virtual Memory 7.3.2- Flat-Memory Model The flat-memory model is the simplest form of segmentation to implement. Although segmentation cannot be disabled, the flat-memory model allows system software to bypass most of the segmentation mechanism. In the flat-memory model, all segment-base addresses have a value of 0 and the segment limits are fixed at 4 Gbytes. Clearing the segment-base value to 0 effectively disables segment translation, resulting in a single segment spanning the entire virtual-address space. All segment descriptors reference this single, flat segment 7.3- Protected Mode Segmented-Memory Models
  • 41. 7- Segmented Virtual Memory 7.3.3- Segmentation in 64-Bit Mode In 64-bit mode, segmentation is disabled. The segment-base value is ignored and treated as 0 by the segmentation hardware. Likewise, segment limits and most attributes are ignored. There are a few exceptions. The CS-segment DPL, D, and L attributes are used (respectively) to establish the privilege level for a program, the default operand size, and whether the program is running in 64-bit mode or compatibility mode. The FS and GS segments can be used as additional base registers in address calculations, and those segments can have non-zero base-address values. This facilitates addressing thread-local data and certain system-software data structures. See “FS and GS Registers in 64-Bit Mode” on page 72 for details about the FS and GS segments in 64-bit mode. The system-segment registers are always used in 64-bit mode. 7.3- Protected Mode Segmented-Memory Models
  • 42. 7- Segmented Virtual Memory • CS Register in 64-Bit Mode. In 64-bit mode, most of the hidden portion of the CS register is ignored. Only the L (long), D (default operation size), and DPL (descriptor privilege-level) attributes are recognized by 64-bit mode. Address calculations assume a CS.base value of 0. CS references do not check the CS.limit value, but instead check that the effective address is in canonical form. • DS, ES, and SS Registers in 64-Bit Mode. In 64-bit mode, the contents of the ES, DS, and SS segment registers are ignored. All fields (base, limit, and attribute) in the hidden portion of the segment registers are ignored. 7.4- Segment Registers in 64-Bit Mode
  • 43. 7- Segmented Virtual Memory Address calculations in 64-bit mode that reference the ES, DS, or SS segments are treated as if the segment base is 0. Instead of performing limit checks, the processor checks that all virtual-address references are in canonical form. Neither enabling and activating long mode nor switching between 64-bit and compatibility modes changes the contents of the visible or hidden portions of the segment registers. These registers remain unchanged during 64-bit mode execution unless explicit segment loads are performed. • FS and GS Registers in 64-Bit Mode. Unlike the CS, DS, ES, and SS segments, the FS and GS segment overrides can be used in 64-bit mode. When FS and GS segment overrides are used in 64-bit mode, their respective base addresses are used in the effective-address (EA) calculation. The complete EA calculation then becomes (FS or GS).base + base + (scale ∗ index) + displacement. The FS.base and GS.base values are also expanded to the full 64-bit virtual-address size, In 64-bit mode, FS-segment and GS-segment overrides are not checked for limit or attributes. 7.4- Segment Registers in 64-Bit Mode
  • 44. Conclusion At the end of this report and after a review of the most important additions that made to the 64x architecture at the memory, registers, and other component. As well as to set the changes in the mode of operation like appeared long mode, and in the memory segmentation. Finally, the different in the addressing mode between both architectures. From this we conclude that all of these additions that would increase the speed of processing and transmission of data and stored it in a protected way. As well as giving greater freedom for programmers, but freedom is restricted It was the main purpose of the appearance of this architecture is to increase the speed and give a larger amount of data protection, after a increase computer use in the different disciplines.