3.4.13 Extended Translation Facility 3.4.14 Instruction set extensions 3.4.15 Transactional Execution 3.4.16 Runtime Instrumentation The z/Architecture instruction set has instructions in support of the Extended Translation  Facility. They are used in data conversion operations for Unicode data, which causes  applications that are enabled for Unicode or globalization to be more efficient. These  data-encoding formats are used in web services, grid, and on-demand environments in which  XML and SOAP technologies are used. The High Level Assembler supports the Extended  Translation Facility instructions. The processor supports the following instructions to support functions: The Transactional Execution (TX) capability, which is known in the industry as  hardware  transactional memory , runs a group of instructions atomically; that is, all of their results are  committed or no result is committed. The execution is optimistic. The instructions are run, but  previous state values are saved in a transactional memory. If the transaction succeeds, the  saved values are discarded; otherwise, they are used to restore the original values. The Transaction Execution Facility provides instructions, including declaring the beginning  and end of a transaction, and canceling the transaction. TX is expected to provide significant  performance benefits and scalability by avoiding most locks. This benefit is especially  important for heavily threaded applications, such as Java. Runtime Instrumentation (RI) is a hardware facility for managed run times, such as the Java  Runtime Environment (JRE). RI allows dynamic optimization of code generation as it is being  run. It requires fewer system resources than the current software-only profiling, and provides  information about hardware and program characteristics. RI also enhances JRE in making  the correct decision by providing real-time feedback. 112  IBM z15 (8561) Technical Guide GLYPH<SM590000> Hexadecimal floating point instructions for various unnormalized multiply and multiply add  instructions. GLYPH<SM590000> Divide engine scheduler. GLYPH<SM590000> Second generation of BCD-RR architecture. GLYPH<SM590000> Modulo arithmetic. GLYPH<SM590000> Immediate instructions, including various add, compare, OR, exclusive-OR, subtract, load,  and insert formats. The use of these instructions improves performance. GLYPH<SM590000> Load instructions for handling unsigned halfwords, such as those used for Unicode. GLYPH<SM590000> Cryptographic instructions, which are known as the MSA, offer the full complement of the  AES, SHA-1, SHA-2, and DES algorithms. They also include functions for random number  generation. GLYPH<SM590000> Extended Translate Facility-3 instructions, which are enhanced to conform with the current  Unicode 4.0 standard. GLYPH<SM590000> Assist instructions that help eliminate hypervisor processor usage. GLYPH<SM590000> SIMD instructions, which allow the parallel processing of multiple elements in a single  instruction.