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

NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

Embed Size (px)

Citation preview

Page 1: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

NATIONAL POLYTECHNIC INSTITUTECOMPUTING RESEARCH CENTER

IPN-CIC MICROSE Lab

Design of a Multimedia Extension for RISC Processor

Eduardo Jonathan Martínez Montes

Prof. Marco Antonio Ramírez Salinas

Page 2: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

I. Adder1. Full adder2. Ripple carry adder3. Carry look ahead adder4. Best adder5. Adder-Substracter

Saturated/Wrapped 8 bits6. Adder-Substracter

Saturated/Wrapped 16 bits

II. Multiplier1. Multiplier 8x82. Multiplier 16x16

OUTLINE

IPN-CIC MICROSE Lab 2

III. Vector operations1. Over view

IV. Vector formats1. OB format2. OH format

V. Prototype1. Instruction path2. Prototype3. Results

Page 3: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 3

ADDER Full adder

A full adder is an arithmetic circuit that is used to add three bits.

Logic diagram Block diagram

Boolean functions

Page 4: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 4

Ripple Carry Adder (part 1)

The carry propagation time is the major speed limiting factor.

ADDER

Page 5: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 5

Ripple Carry Adder (part 2)ADDER

Page 6: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 6

Ripple Carry Adder (part 3)

Features

Resources: 35 LE Fmax: 208.90 MHzSize: 16 bits

ADDER

Page 7: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 7

Carry Look Ahead Adder (part 1)

It improves speed by reducing the amount of time required to determine carry bits.

ADDER

Page 8: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 8

Carry Look Ahead Adder (part 2)ADDER

Page 9: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 9

Carry Look Ahead Adder (part 3)

Features

Resources: 57 LE Fmax: 223.51 MHzSize: 16 bits

ADDER

Page 10: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 10

Kogge Stone Adder (part 1)

It is widely considered the fastest adder design possible.

ADDER

Page 11: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 11

Kogge Stone Adder (part 2)

Black Cell Gray Cell

ADDER

Page 12: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 12

Kogge Stone Adder (part 3)

Features

Resources: 82 LE Fmax: 255.17 MHzSize: 16 bits

ADDER

Page 13: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 13

Best adder

Ripple Carry Adder

Carry Look Ahead Adder

Kogge Stone Adder

0 50 100 150 200 250 300

Adders Comparison

Fmax Logic Elements Size

ADDER

Page 14: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 14

Adder-Substracter Saturated/Wrapped 8 bits

FeaturesOperations: Adder, Substracter Arithmetic: Saturated, Wrapped Size: 8 bits Unsigned IntegerResources: 59 LE Fmax: 247.46 MHz

ADDER

Page 15: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 15

Adder-Substracter Saturated/Wrapped 16 bits

FeaturesOperations: Adder, Substracter Arithmetic: Saturated, Wrapped Size: 16 bits Signed IntegerResources: 113 LE Fmax: 197.55 MHz

ADDER

Page 16: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 16

Multiplier 8x8

FeaturesOperations: Multiplier Arithmetic: Saturated, Wrapped Size: 8x8=16 bits Unsigned IntegerResources: 308 LE Fmax: 287.85 MHz

MULTIPLIER

Page 17: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 17

Multiplier 16x16

FeaturesOperations: Multiplier Arithmetic: Saturated, Wrapped Size: 16x16=32 bits Signed IntegerResources: 1,723 LE Fmax: 222.82 MHz

MULTIPLIER

Page 18: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 18

VECTOR OPERATIONS Over view

Single Instruction Multiple Data, this architecture performs the same operation on multiple data elements in parallel.

Page 19: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 19

Over view (cont.)VECTOR OPERATIONS

Page 20: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 20

OB format

Unsigned. 64 bits vector 8 elements each one 8 bits Accumulator contains 8 24 bits elements.

VECTOR FORMAT

Page 21: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 21

HB format

Signed. 64 bits vector 4 elements each one 16-bits Accumulator contains 4 48-bits elements.

VECTOR FORMAT

Page 22: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 22

Instruction pathPROTOTYPE

Page 23: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 23

Prototype

FeaturesResources: 8,449 LE Fmax: 176.27 MHzADD, ADDL, ADDA SUB, SUBL, SUBAMUL, MULL, MULA LDC2, SDC2No LPM

PROTOTYPE

Page 24: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 24

Results

ldc2 $v3, 0($0) # $v3 = $s0 let $s0=64'h0102030405060708sdc2 $v3, 0($s0) # $s0 = $v3

ldc2 $v4, 0($0) # $v3 = $s0 let $s0=64'h0A0B0C0D0E0FAABBsdc2 $v4, 0($s0) # $s0 = $v3

ldc2 $v5, 0($0) # $v3 = $s0 let $s0=64'hAABBCCDDEEFF1122sdc2 $v5, 0($s0) # $s0 = $v3

PROTOTYPE

Page 25: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 25

ldc2 $v4, 0($0) # $v3 = $s0 let $s0=64'h0A0B0C0D0E0FAABBsdc2 $v4, 0($s0) # $s0 = $v3

ldc2 $v5, 0($0) # $v3 = $s0 let $s0=64'hAABBCCDDEEFF1122sdc2 $v5, 0($s0) # $s0 = $v3

add.ob $v6,$v4,$v5 #$v6 = $v4+$v5

$V4 = 0A 0B 0C 0D 0E 0F AA BB+ $V5 = AA BB CC DD EE FF 11 22

----------------------------------------- $V6 = B4 C6 D8 EA FC FF BB DD

Saturated

PROTOTYPE Results (cont.)

Page 26: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 26

ldc2 $v4, 0($0) # $v3 = $s0 let $s0=64'h0A0B0C0D0E0FAABBsdc2 $v4, 0($s0) # $s0 = $v3

ldc2 $v5, 0($0) # $v3 = $s0 let $s0=64'hAABBCCDDEEFF1122sdc2 $v5, 0($s0) # $s0 = $v3

add.ob $v7,$v4,$v5(0) #$v7 = $v4+$v5(0)

$V4 = 0A 0B 0C 0D 0E 0F AA BB+ $V5(0) = 22 22 22 22 22 22 22 22

---------------------------------------------- $V7 = 2C 2D 2E 2F 30 31 CC DD

PROTOTYPE Results (cont.)

Page 27: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 27

ldc2 $v4, 0($0) # $v3 = $s0 let $s0=64'h0A0B0C0D0E0FAABBsdc2 $v4, 0($s0) # $s0 = $v3

add.ob $v8,$v4,10 #$v8 = $v4+1010101010101010

$V4 = 0A 0B 0C 0D 0E 0F AA BB+ 0A 0A 0A 0A 0A 0A 0A 0A

---------------------------------------------- $V8 = 14 15 16 17 18 19 B4 C5

PROTOTYPE Results (cont.)

Page 28: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 28

ldc2 $v2, 0($0) # $v3 = $s0 let $s0=64'h0908070605040302sdc2 $v2, 0($s0) # $s0 = $v2

ldc2 $v3, 0($0) # $v3 = $s0 let $s0=64'h0102030405060708sdc2 $v3, 0($s0) # $s0 = $v3

mul.ob $v9,$v2,$v3 #$v9 = $v2*$v3

$V2 = 09 08 07 06 05 04 03 02X $V3 = 01 02 03 04 05 06 07 08

---------------------------------------------- $V9 = 09 10 15 18 19 18 15 10

PROTOTYPE Results (cont.)

Page 29: NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Eduardo Jonathan Martínez

IPN-CIC MICROSE Lab 29

Q&A