Machine State Register
   HOME

TheInfoList



OR:

A machine state register (MSR) is one of three process control registers present in the
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
processor architecture.


Processors

The implementation details of the machine state register will vary from model to model. Below are two representative implementations, the 32-bit
Freescale Freescale Semiconductor, Inc. was an American semiconductor manufacturer. It was created by the divestiture of the Semiconductor Products Sector of Motorola in 2004. Freescale focused their integrated circuit products on the automotive, embed ...
e200z3 PowerPC core and the 64-bit IBM
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
.


e200z3 PowerPC core


Uses of the machine state register

This 32-bit register either controls and/or reports several important processor states.


Reading and writing the machine state register

The contents of the register may be read using the ''move from machine state register'' (mfmsr) instruction and may be modified by executing the ''return from interrupt'' (rfi, rfci, rfdi), ''system call'' (sc) and ''move to machine state register'' (mtmsr) instructions.


PowerPC


Uses of the machine state register

This 64-bit register either controls and/or reports several important processor states. {, class="wikitable" , - ! Mnemonic !! Description , - , SF , , Selects 32-bit/64-bit mode , - , HV , , Selects hypervisor state , - , EE , , Enable/disable external interrupts , - , PR , , Selects privileged or problem state , - , FP , , Reports floating-point availability , - , ME , , Enables/disables machine check interrupts , - , FE0 , , Select floating-point mode exception mode , - , SE , , Enables/disables single-step tracing , - , BE , , Enables/disables branch tracing , - , FE1 , , Select floating-point exception mode , - , IR , , Enable/disable instruction address translation , - , DR , , Enable/disable data address translation , - , PMM , , Performance monitor mark , - , RI , , Lists whether interrupt is (non-) recoverable , - , LE , , Selects Little-Endian or Big-Endian mode (not G5)


Reading and writing the machine state register

The machine state register can be read using the mfmsr instruction and modified using the mtmsr '', rfid and hrfid instructions.


Confusion with model-specific register

While the machine state register found in the PowerPC architecture and the
model-specific register A model-specific register (MSR) is any of various control registers in the x86 instruction set used for debugging, program execution tracing, computer performance monitoring, and toggling certain CPU features. History With the introduction of th ...
s found in
IA-32 IA-32 (short for "Intel Architecture, 32-bit", commonly called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnation of ...
and
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mod ...
architectures fulfill similar functions and the initialism "MSR" can refer to either, there are important differences that distinguish them. The machine state register, a single register, provides coarse-grained control over a small number of machine functions. In contrast, dozens to hundreds of model-specific registers exist on recent IA-32 and x86_64 architectures and provide a much finer granularity of both reporting and control of machine state. The term "machine state register" does not appear in
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
and
AMD Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
documentation; likewise "model-specific register" does not appear in IBM and
Freescale Freescale Semiconductor, Inc. was an American semiconductor manufacturer. It was created by the divestiture of the Semiconductor Products Sector of Motorola in 2004. Freescale focused their integrated circuit products on the automotive, embed ...
documentation.


References


UM0434 e200z3 PowerPC core reference manual, Rev. 1, May, 2007PowerPC Operating Environment Architecture, Book III, v2.02, Jan 28 2005Freescale PowerPC Architecture Primer Rev 0.1, Jun 2005
IBM computer hardware