network based system on chip final presentation part b performed by: medvedev alexey supervisor:...

Post on 20-Dec-2015

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Network based System on Chip

Final PresentationPart B

Performed by: Medvedev Alexey

Supervisor: Walter Isaschar (Zigmond)

Winter-Spring 2006

Problem to solve

• In modern high-speed systems that contain a lot of components traffic is a major problem.

• Components are interacting with each other using a bus.

Problem

BUS

I/O ETC…CACHE

CPU FPU MEM

Problem

• This architecture has certain disadvantages: low speed, allows to connect only two components at a given

time, no parallel access, unconfigurable.

Solution

Network-on-Chip

• A network-like structure with central units on junctions which manage and direct the traffichighly customizableallows any number of parallel connectionsmaintains high throughput at all times traffic control and routing mechanisms

Advanced features

• Service levels allow to give priorities to certain components

• Wormhole mechanism lowers the total propagation delay in the net

• Virtual channels prevent congestion in the network

General NoC Router

• Central NoC unit for directing data streams and traffic control

• n input ports (IP)

• n output ports (OP)

• m service levels (SL) per each port

Packet structure

• Each packet consists of flits which are the minimal data unit in the net

• Routers retransmit packets further flit by flit by reading and storing the destinations address of the packet from the first flit and assigning a buffer for that packet.

NoC Router

Buffers

CrossbarCrossbar

CrossbarControllerCrossbarController

Input PortInput Port Input PortInput Port

Output PortOutput Port

Input PortInput Port

Output PortOutput Port

Output PortOutput Port

Output PortOutput Port

Input PortInput Port

Input port

• Receives data from another router or module.

• Consists of control unit and CRT (Current Routing Table) to store routing addresses and a FIFO buffer for each service level.

Input port schematic

FIFO

CRT#1

TransferControl

CRT#0

DMX

data_in

ftype, sl

buffer_credits

write_enable

data_out 1

data_out 0

address 0

address 1

Output port

• Transmits data to another router or module.

• Consists of a single buffer for each service level and a mux to select current service level. Also, another mux is used to switch to idle state.

Output port

DFF

‘0’

‘0’

MUX

MUX

idle

sl_select

data_outdata_in 1

data_in 0

Crossbar

• Performs data routing between input and output ports in a router.

• Implemented using steering logic.

CrossbarMUX

MUX

MUX

MUX

OP0 level0

OP1 level0

OP0 level1

OP1 level1

IP0 level0

IP1 level0

IP0 level1

IP1 level1

Crossbar controller

• Directs data streams in the crossbar.

• Uses round-robin scheduler and address data from IP’s CRT to determine data streams’ direction.

Crossbar controller FSM

• One FSM for each OP and service level• Transition to working states happens when there is waiting data on either IPs and the OP is able to receive data. • Transition between working states happens when ‘end of packet’ flit received on one IP and there is waiting data on the other IP and the OP is able to receive flits.• Transition to idle state happens when OP can’t receive data or when corresponding IP changed address or emptied its buffer.

Network congestion

• What happens if several units want to transfer lots of data to a single other unit?

• If the packets are long enough, they will block all routers on their way.

• Solution: Data Flow control.

Network congestionXX

Hot-Spot

X X

X

Solution: Flow control

X X

Hot-SpotHSController

Source flow controller

• Forms and sends transmission requests to Hot-Spot controllers.

• Data transmission is controlled by source unit NoC interface (not implemented in this project).

Source flow controller

ProcessingUnit

ProcessingUnit

SourceFC

SourceFC

RouterTX request

Request packet• Request packet consists of the

following fields:HS controller address (1 byte);Source flow controller address (1 byte);amount of data requested (2 bytes);data timeout (2 bytes).

• The packet is short and can be transmitted quickly.

Hot-Spot flow controller

• Handles transmission requests to a single unit.

• A request remains in queue until it is fulfilled or until it expires – no need to send additional requests for the same data.

Hot-Spot flow controller

Router

RXRX

TXTXScheduler

Scheduler

>TimerTimer

FIFO

HS controller

Control protocol

• When a unit wishes to transmit data, it issues a request.

• Source flow controller transmits the request to HS control unit.

• HS controller checks if the request is still valid and queues it, otherwise it discards the request and sends NACK.

• The Scheduler then takes a request from queue and checks if it is still valid.

• If the amount of data requested exceeds a certain value (max_quota), then the Scheduler allows to send only max_quota bytes of data and puts the updated request back into queue.

Control protocol

• HS controller sends a packet to Source controller allowing it to send certain amount of data.

• When Source controller finishes sending the data, it sends ACK to HS controller.

• When HS controller receives ACK, it discards current request and proceeds with the next.

Control protocol

Control transaction

Transmission request

Transmission allowance ACK

System performance

• A network was built to evaluate the latency decrease from using the flow control units.

FCFC FCFC

Periodic Source 2

Sink 2 Sink 1 Periodic Source 1

Continuous Source 1

Continuous Source 2

SinkHS controller

Without control units:

With control units:

System performanceLatency improvement:

average number of cycles required to send a short packet

System performance

• Another network evaluates increase in “throughput fairness” from using the flow control units.

FCFC FCFC

Continuous source 4

Continuous source 2

Hot-SpotHS controller

FCFCFCFC

Continuous source 1

Continuous source 3

Without control units:

With control units:

System performanceIncrease in throughput fairness:

average number of long packets sent in 1 ms

Project status

• Implemented a 3x3 router which supports two service levels and built a simple NoC that allows data transfers between modules on the chip.

• Hardware router implemented.

Project status• Traffic generator and sink implemented • Source and Hot-Spot control units

implemented. • A real-life system based on NoC with

Hot-Spot control units built and tested.-------------------------------------------------------

PROJECT COMPLETED

The End

top related