[slide] a generic network interface architecture for a networked processor array - nepa

18
A Generic Network Interface Architecture for a Networked Processor Array (NePA) Seung Eun Lee, Jun Ho Bahn, Yoon Seok Yang, and Nader Bagherzadeh EECS @ University of California, Irvine

Upload: muhammad-refaat

Post on 26-Oct-2015

8 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

A Generic Network Interface Architecture for a Networked

Processor Array (NePA)

Seung Eun Lee, Jun Ho Bahn, Yoon Seok Yang, and Nader Bagherzadeh

EECS @ University of California, Irvine

Page 2: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

2

Outline

IntroductionNetwork-on-ChipRelated WorksGeneric Network Interface– Related Works– Networked Processor Array (NePA) Architecture– Generic Network Interface– Programming Sequence– Modular Wrapper for a Slave IP Core– Case Studies: Memory/ Turbo Decoder IP Cores

Summary

Page 3: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

Introduction

0

40

80

120

160

200

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018

Year

Gat

e D

elay

in T

imes

(ps)

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

Wire

Del

ay in

Tim

es (p

s)

Gate Delay (HP) Gate Delay (LOP) Gate Delay (LSTP) Global Wire Delay 1 Global Wire Delay 2Metal1 Wire Delay 1 Metal1 Wire Delay 2 Int. Wire Delay 1 Int. Wire Delay 2

from ITRS 2004 Report

In 2018, the interconnection delay is estimated to be 1000 times greater than gate delay [ITRS]The interconnection network among multiple IPs becomes another challenging issue in System-on-Chip (SoC) design

Page 4: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

4

Introduction (cont’d)

Current Trends in VLSI Technology– Requirements

• Computation intensive applications• Highly integrated + low power

– Increasing # of computing resources in SoC• CPUs, DSPs, ASPs

– System platforms• MPSoC (Multi Processor System-on-Chip) or CMP (Chip Multi

Processor)• Homogeneous/Heterogeneous processors• Similarity in a small scale distributed computer system

Interconnection?

Page 5: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

5

Network-on-Chip Interconnection

Interconnect NetworkSwitch Link

NetworkInterface

CPU RAM

I/O

co-ProcessorCommunication

ROM

DSPPeripheral

The use of switching based technologyHave been extensively used for computer networkCommunication between IPs can be packet based

The key efficiency of NoCCommunication resources are SHARED !

Page 6: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

6

Network-on-Chip (cont’d)

Network-on-Chip (NoC) Architecture– Network-like interconnection

• Insertion of routers• Shortened wiring requirement• Alleviating scalability and freedom from the limitation of complex

wiring– Difference from computer network technology (Internet TCP/IP)

• Simple and light-weight modification• low power requirement for mobile applications• Performance and cost

Different interface specification of integrated components raise a considerable difficulty for adopting NoCtechniques

Page 7: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

7

Generic Network Interface

The reuse of IP cores in plug-and-play manner can be achieved by using a generic network interface (NI)

– Reduce design time of new system– Translate packet-based communication into a higher level

protocol– Decouple computation from communication– Hide the implementation details of interconnection

Page 8: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

8

Related Works

Different Packetization strategy – Software library, on-core and off-core implementation– A hardware wrapper implementation has the lowest area

overhead and latencyNI for standard Interface such as OCP, DTL and AXI– Improve reuse of IP cores– Performance is penalized because of increasing latency

Generic architecture and automatic generation of interface– Existing researches limit the embedded IP cores to CPU (ARM7

and MC68000)

The designs of wrapper for application specific cores still lack generic aspects

Page 9: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

9

NePA Architecture

System Platform

MSHostI/F(HI)

IP1

MemoryStation

(MS)

HostI/F(HI)

Processing Element

(PE)

Processing Element

(PE)

Processing Element

(PE)

Processing Element

(PE)

HostI/F(HI)

MemoryStation

(MS)

MemoryStation

(MS)

HostI/F(HI)

PE Router

Processor Core(ARM™ / MIPS etc)

ProgramRAM

DataRAM

NI

MemoryStation

(MS)

IP2

IP3

IP4

IPx Router

Specific IP(FFT, Viterbi or Turbo coder)

Network Interface

Router

Data RAM

NI

Memory Controller

Page 10: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

10

NePA Architecture:High-Performance Router Architecture

Interconnect throughout FIFO between neighboring PEs

– Simple Interconnect WiringMinimal (shortest) adaptive routing

– Livelock-freePoint-to-point single or block transferTwo disjoint sub-networks for the west-to-east and east-to-west traffics

– Network avoids a cyclic dependency– Resulting in deadlock-freedom

Prioritized packet delivery

W Input

N1

Inpu

t

S1

Inpu

t

IntR Input

S1

Out

put E Output

N1 Output

W Input

S2

Inpu

t

N2

Inpu

t

IntL

Inpu

t

N2 Output

W output

S2 Output

N

W

S

E

N

S

N1 N2

W

INT

E

S1 S2

Int R

Int L

INT

Internal Router

Right Router

Left Router

Page 11: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

11

Network Interface Prototype:Packetization Unit

Build the packet header and converts the data into flits– Header builder: form the head flit based on the information provided by

registers– DMA controller: generate control over the address and read signal for

the internal memory automatically– Flit Controller: wrap up the head flit and body flits into a packet

Page 12: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

12

Network Interface Prototype:Depacketization Unit

Receive data from interconnection network– Flit Controller: select head flit from a packet and pass it to the header

parser– Header parser: extract control information from the head flit and assert

an interrupt signal to the OpenRISC core– DMA controller: writes the body flit data into the internal memory

automatically

Page 13: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

13

Network Interface Prototype:Programming Sequence

Sending SINGLE Packet– All required parameters are set to the associated registers– Writing command register generate a complete packet

Sending BLOCK packet– sDataReg represents the number of data– sReadAddrReg indicates the start address of data in memory

Receiving SINGLE/BLOCK packets– Parameters are accessed by interrupt service routine– Accessing rDataReg completes the procedures for current packet– For BLOCK packet, OpenRISC sets the corresponding write

address (wWriteAddrReg) for internal memory access

Page 14: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

14

Generic Network InterfaceModification of Packet for NI access

A slave IP core is not able to write registers in a current NIThese registers are accessed by other cores using the network

– Opcode and Operand of an instruction are located at Tag and Data field in the SINGLE packet

– Type field indicates that packet contains an instruction for NI– Instruction decoder in the header parser fetches opcode and

operand from a packet– Update internal registers

Page 15: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

15

Generic Network InterfaceModular Wrapper for a slave IP core

Un-buffered Mode: data is exchanged in data stream without intermediate bufferBuffered Mode: data is saved in the intermediate buffer temporarily

Page 16: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

16

Generic Network InterfaceModular Wrapper for a Memory

Maintain data and shared among a number of PEs.Assume synchronous SRAM model

Wrapper design– Core type is slave IP– There is no control signals for initialization or status monitoring– Data interface is realized in the un-buffered mode removing the

FIFOs between NI and memory

Programming sequence– The base address is set to the desired value using SINGLE

packet– Sending BLOCK packet stores data into memory– Read operation is done by sending SINGLE packet

Page 17: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

17

Generic Network InterfaceModular Wrapper for a Turbo Decoder

Stand-alone turbo decoder operating block by block processWrapper design– Core type is slave IP– There are six signals that are used for initialization and mode

selection– Data interface adopts buffered mode, inserting FIFOs between NI

and the coreProgramming sequence– Before starting turbo decoding, it is initialized by sending packet

which accesses the input control signals– Data is sent to the core using BLOCK packet– When decoding of one block is completed, NI start to send a

packet to the other node automatically

Page 18: [Slide] a Generic Network Interface Architecture for a Networked Processor Array - NePA

18

Summary

Introduced Networked Processor Array (NePA)Proposed network interface architecture for OpenRISCcoreClassified the possible IP cores for processing elementsProposed a modular wrapper for an embedded IP cores– Allocation table was used for the configuration of the modular

wrapper– Programming model was presented– Case studies in memory and turbo decoder cores demonstrated

feasibility and efficiency of the proposal