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

Embed Size (px)

DESCRIPTION

NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER. Design of a Multimedia Extension for RISC Processor. Eduardo Jonathan Martínez Montes Prof. Marco Antonio Ramírez Salinas. IPN-CIC. MICROSE Lab. OUTLINE. Adder Full adder Ripple carry adder Carry look ahead adder - PowerPoint PPT Presentation

Citation preview

Page 1: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

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

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-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-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-CIC MICROSE Lab 5

Ripple Carry Adder (part 2)ADDER

Page 6: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

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-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-CIC MICROSE Lab 8

Carry Look Ahead Adder (part 2)ADDER

Page 9: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

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-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-CIC MICROSE Lab 11

Kogge Stone Adder (part 2)

Black Cell Gray Cell

ADDER

Page 12: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

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-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-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-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-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-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-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-CIC MICROSE Lab 19

Over view (cont.)VECTOR OPERATIONS

Page 20: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

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-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-CIC MICROSE Lab 22

Instruction pathPROTOTYPE

Page 23: NATIONAL  POLYTECHNIC  INSTITUTE COMPUTING  RESEARCH  CENTER

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-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-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-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-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-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-CIC MICROSE Lab 29

Q&A