26
NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CIC MICROSE Lab Design and implementation of a Multimedia Extension for a RISC Processor Eduardo Jonathan Martínez Montes Prof. Marco Antonio Ramírez Salinas

NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER

Embed Size (px)

DESCRIPTION

NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER. Design and implementation of a Multimedia Extension for a RISC Processor. Eduardo Jonathan Martínez Montes Prof. Marco Antonio Ramírez Salinas. IPN-CIC. MICROSE Lab. OUTLINE. Background Motivation Multimedia applications - PowerPoint PPT Presentation

Citation preview

Page 1: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

NATIONAL POLYTECHNIC INSTITUTECOMPUTING RESEARCH CENTER

IPN-CIC MICROSE Lab

Design and implementation of a Multimedia Extension for a RISC Processor

Eduardo Jonathan Martínez Montes

Prof. Marco Antonio Ramírez Salinas

Page 2: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

I. Background1. Motivation2. Multimedia applications3. State of the art

II. Problem Description1. Overview2. SISD3. SIMD4. SISD vs SIMD5. Saturation arithmetic6. Example7. Instruction format

III. Objective1. Main objective2. Specific objectives

OUTLINE

IPN-CIC MICROSE Lab 2

IV. Hypothesis1. Multimedia support

• MDMX• Vector to vector arithmetic

V. Technical Merits1. Data path2. Vector units

Page 3: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 3

BACKGROUND Motivation

Lagarto is a superscalar embedded processor, now in develop by the HPC research team of CIC-IPN.

The goal of this effort is to be used to help in the research and teaching.

This processor require the design and build many blocks, so that, this project is part of a bigger project.

Page 4: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 4

BACKGROUND Motivation (cont.)

Page 5: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 5

BACKGROUND Motivation (cont.)

Page 6: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 6

BACKGROUND Multimedia applications

Photo edition

Video edition

Rendering

Video games

Page 7: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 7

State of the art

1996 1998 2000 2002 2004 2006 2008 2010 2012

AVX2 - Intel2013

Sandy Bridge y Bulldozer - Intel y

AMD2011

Advanced Vector Extensions (AVX) -

Intel

2008

SSE4 - Intel2006

SSE y SSE2 - AMD2004

SSE3 - Intel2004

Advance 3DNow! (3DNow! 2) - AMD

2003

AltiVec - IBM2002

SSE2 - Intel2002

3DNow!. - AMD2000

Streaming SIMD Extensions (SSE)-

Intel

1999

Pentium II (MMX)- Intel1998

AltiVec - Motorola1997

1996

1996

BACKGROUND

Page 8: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 8

PROBLEM DESCRIPTION Overview

Multimedia Extension is a vector machine that is embedded in situ with the main Superscalar Processor, it is used for deal with multimedia applications.

Lagarto processor

Main processor

Multimediaextension

Page 9: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 9

PROBLEM DESCRIPTION SISD

Single Instruction Single Data is a term referring to a computer architecture In which a single processor executes a single instruction stream.

Page 10: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 10

PROBLEM DESCRIPTION SIMD

Single Instruction Multiple Data is a class of parallel computer. It describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.These machines exploit data level parallelism.

Page 11: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 11

SISD vs SIMDPROBLEM DESCRIPTION

Page 12: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 12

Saturation arithmeticPROBLEM DESCRIPTION

It is a version of arithmetic in which all operations such as addition and multiplication are limited to a fixed range between a minimum and a maximum value.

If the result of an operation is greater than the maximum, it is set to the maximum. On the other hand, if it is below the minimum, it is clamped to the minimum value.

50+80=130150 + 170 = 255120-135=0

Page 13: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 13

Example

Example: get negative image

PROBLEM DESCRIPTION

Page 14: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 14

SISD Processing

Example (cont.)PROBLEM DESCRIPTION

Page 15: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 15

SIMD Processing

Example (cont.)PROBLEM DESCRIPTION

Page 16: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 16

Instruction format

Opcode fmt/sel vt vs vd function31:26 25:21 20:16 15:11 10:6 5:0

HYPOTESIS

Co-processor instructionCOP1=010001COP2=010010

Page 17: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 17

Instruction format (cont.)

Opcode fmt/sel vt vs vd function31:26 25:21 20:16 15:11 10:6 5:0

HYPOTESIS

Data format and item chooser

Page 18: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 18

Opcode fmt/sel vt vs vd function31:26 25:21 20:16 15:11 10:6 5:0

HYPOTESIS

Source 2

Source 1

Destination

Instruction format (cont.)

Page 19: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 19

Opcode fmt/sel vt vs vd function31:26 25:21 20:16 15:11 10:6 5:0

HYPOTESIS Instruction format (cont.)

Page 20: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 20

OBJECTIVE Objectives

General Objective

Design a multimedia extension unit for a RISC processor (Lagarto).

Specific Objectives

Design a vector adder w/wo saturation arithmetic. Design a multiplier w/wo saturation arithmetic. Implement the complete Instruction set of the MIPS Digital

Media extension (MDMX).

Page 21: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 21

HYPOTESIS MIPS Digital Media Extension

Lagarto II processor with:

MDMX supports video, audio, and graphics pixel processing.• MDMX is not part of the MIPS Instruction Set.• A processor that implements the MDMX must

implement the MIPS-V ISA MIPS MDMX is not intended for general purpose

computing.• Software support is via shared libraries and

assembly language only.

Page 22: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 22

MDMX shares a register file with the Floating Point Unit.• Data is moved between the shared register file

and memory with existing Floating Point Load and Store double operations.

Registers are interpreted in two formats: Quad Half and Oct Byte format.

MDMX also shared the 8 Floating Point Condition Code bites.

MDMX has a private 192 bit accumulator register.

HYPOTESIS MIPS Digital Media Extensión (cont.)

Page 23: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 23

Vector to vector arithmeticHYPOTESIS

Page 24: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 24

Data pathTECHNICAL MERITS

Page 25: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 25

TECHNICAL MERITS Vector units

Vector adder w/wo saturation arithmetic. Vector subs tractor w/wo out saturation arithmetic. Vector multiplier w/wo out saturation arithmetic. Instruction vector Queue. Vector Load/Store Queue.

Page 26: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

IPN-CIC MICROSE Lab 26

Q&A