MMX technology for Pentium

Slides:



Advertisements
Similar presentations
CH10 Instruction Sets: Characteristics and Functions
Advertisements

Intel Pentium 4 ENCM Jonathan Bienert Tyson Marchuk.
Machine Instructions Operations
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 2: Data types and addressing modes dr.ir. A.C. Verschueren.
INSTRUCTION SET ARCHITECTURES
Fixed Point Numbers The binary integer arithmetic you are used to is known by the more general term of Fixed Point arithmetic. Fixed Point means that we.
ECE291 Computer Engineering II Lecture 24 Josh Potts University of Illinois at Urbana- Champaign.
Comp Sci Floating Point Arithmetic 1 Ch. 10 Floating Point Unit.
Chapter 3 Arithmetic for Computers. Exam 1 CSCE
ARITHMETIC, LOGIC INSTRUCTIONS, AND PROGRAMS
Intel’s MMX Dr. Richard Enbody CSE 820. Michigan State University Computer Science and Engineering Why MMX? Make the Common Case Fast Multimedia and Communication.
Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers, MUL Instruction The MUL (unsigned multiply) instruction.
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 5 Arithmetic and Logic Instructions.
Chapter 14: The Arithmetic Coprocessor, MMX, and SIMID Technologies.
What is an instruction set?
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
Simple Data Type Representation and conversion of numbers
Lecture 15 Floating point math Dr. Dimitrios S. Nikolopoulos CSL/UIUC.
The 8051 Microcontroller and Embedded Systems
Computer Architecture Lecture 3: Logical circuits, computer arithmetics Piotr Bilski.
Khaled A. Al-Utaibi  Introduction  Arithmetic Instructions  Basic Logical Instructions  Shift Instructions  Rotate Instructions.
Machine Instruction Characteristics
Computer architecture Lecture 4: Processor instruction list Piotr Bilski.
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
MMX technology for Pentium. Introduction Multi Media Extension (MMX) for Pentium Processor Which has built in 80X87 Can be switched for multimedia computations.
Microprocessors Monday, Apr. 13 Dr. Asmaa Farouk Faculty of Engineering, Electrical Department, Assiut University.
Arithmetic Flags and Instructions
Computer Architecture and Operating Systems CS 3230 :Assembly Section Lecture 4 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Computer Architecture and Organization
Computer Architecture EKT 422
Chapter 4 Instruction Set Examples Advanced Computer Architecture COE 501.
Introduction to MMX, XMM, SSE and SSE2 Technology
CS/EE 5810 CS/EE 6810 F00: 1 Multimedia. CS/EE 5810 CS/EE 6810 F00: 2 New Architecture Direction “… media processing will become the dominant force in.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
CHAPTER 6 ARITHMETIC, LOGIC INSTRUCTIONS, AND PROGRAMS.
ECE 447: Lecture 11 Introduction to Programming in Assembly Language.
Chapter 7 Bit Manipulation. 7.1 Logical Operations.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
Instruction Sets. Instruction set It is a list of all instructions that a processor can execute. It is a list of all instructions that a processor can.
Microprocessor & Assembly Language Arithmetic and logical Instructions.
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures.
Microprocessor & Assembly Language
ECE291 Lecture 13 Advanced Mathematics. ECE 291 Lecture 13Page 2 of 40 Lecture outline Floating point arithmetic 80x87 Floating Point Unit MMX Instructions.
CSC 221 Computer Organization and Assembly Language Lecture 06: Machine Instruction Characteristics.
Homework Reading Labs PAL, pp
COMP3221: Microprocessors and Embedded Systems
Advanced Computer Architecture 5MD00 / 5Z032 Instruction Set Design
MMX Multi Media eXtensions
Chapter 11 © 2011, The McGraw-Hill Companies, Inc.
CS170 Computer Organization and Architecture I
Data Representation Data Types Complements Fixed Point Representation
MISP Assembly.
Intel SIMD architecture
Homework Reading Machine Projects Labs PAL, pp
Shift & Rotate Instructions)
MIPS Assembly.
Arithmetic and Logic Chapter 5
The ARM Instruction Set
Branching instructions
Chapter 5 Arithmetic and Logic Instructions
MIPS Assembly.
ARITHMETIC, LOGIC INSTRUCTIONS, AND PROGRAMS
MMX technology for Pentium
Computer Organization and Assembly Language
Computer Organization
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

MMX technology for Pentium

Introduction Multi Media Extension (MMX) for Pentium Processor Can be switched for multimedia computations working in Co processor mode with MMX instruction set The coprocessor works in SIMD instruction set processor for multi media applications Some MMX Applications are motion video combined graphics with video Image processing Audio and speech synthesis and compression Video conferencing Telephony 2D and 3D graphics

MMX instruction set SIMD instructions of type Arithmetic, comparison, conversion, logical, shift and data transfer Instructions will start with letter P as first character Instructions are appended with B, W or D MMX instructions use dual operands and register set MM0 – MM7 The result of operation is moved on to First operand

MMX arithmetic Instruction set ADD PADDB, PADDW, PADDD PADDB MM1, MM2 adds the entire 64 bit contents of MM2 to MM1 byte by Byte and stores in MM1 Any carries are dropped Adding a byte A0H to 70H gives 110H , but the carry is dropped and byte will be 10H Second operand can be a memory location containing 64 bit packed data

MMX arithmetic Instruction set (1) SUB PSUBB, PSUBW, PSUBD PSUBB MM1, MM2 subtracts the entire 64 bit contents of MM2 to MM1 byte by Byte and stores in MM1 Like PADD , PSUB also does not carry or borrow Second operand can be a memory location containing 64 bit packed data If the result of subtraction due to underflow and overflow errors result in 7FH (+128) for a overflow and 80H (-128) for underflow, Intel calls it as saturation

MMX arithmetic Instruction set (2) MUL PMULL, PMULH, PMULLW MM1, MM2 multiplies the entire 16 bit LW contents of MM2 with LW of MM1 and stores the 32 bit result in MM1 Like PADD , PSUB also does not carry or borrow Second operand can be a memory location containing 64 bit packed data PMADDWD instruction multiplies and adds. After multiplying four 32 bit results are added to get two 32 bit double word result.

MMX comparison Instructions Two comparison instruction PCMPEQ ( equal ) PCMPGT ( greater than ) Append it with B,W or D depending on the word length Operands can be MMX register or memory location These instruction does not change the flags; instead it changes the result operand filled with 000… or 111…

MMX conversion Instructions Two basic conversion instructions PACK >> convert data in Dword/ Qword in MMX packed format Available as PACKSS ( signed saturation ) PACKUS ( unsigned saturation ) Can be appended with B, W, D PUNPCK >> convert packed data to normal data word / byte available as PUNPCKH ( unpack High data ) PUNPCKL ( unpack Low data ) To be used in combinations of WB ( word to byte ) or DW ( double word to word )

MMX Logic Instructions PAND ( AND ) PANDN ( NAND ) POR ( OR ) PXOR ( XOR ) NO size extensions , BIT wise operation on all 64 bit data Very powerful for bit manupulations

MMX shift Instructions Logical shift and Arithmetic shift Logic shifts are PSLL ( Left Logic ) PSRL (Right Logic ) Variations are W, D and Q Arithmetic shifts preserves the sign bit PSLA ( left Arithmetic ) PSRA ( right arithmetic ) Example : PSLLD MM3,2 shifts the two 32 bit double word in MM3 left two places

MMX data transfer Instructions Two data transfer instructions MOVED and MOVEQ Transfers data between registers and memory Example : MOVED ECX, MM2 moves the right most 32 bits of MM2 to ECX register Example : MOVEQ MM2, MM3 moves the 64 bit of MM3 to MM2

MMX EMMS Instruction EMMS ( empty MMX state ) Sets 11 for tags >>> indicate that FPU barrel registers are empty Must be executed before the return instruction so that FPU smoothly takes over If not done FPU interrupt occurs and system crashes