KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team.

Slides:



Advertisements
Similar presentations
Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
Advertisements

Routers and Routing Basics WANs And Routers. Intro To WANs.
C6614/6612 Memory System MPBU Application Team.
TI Keystone Networking Coprocessor Introduction
Extended Memory Controller and the MPAX registers And Cache
CS 4700 / CS 5700 Network Fundamentals Lecture 7: Bridging (From Hub to Switch by Way of Tree) Revised 1/14/13.
KeyStone Training Multicore Navigator Overview. Overview Agenda What is Navigator? – Definition – Architecture – Queue Manager Sub-System (QMSS) – Packet.
Towards Virtual Routers as a Service 6th GI/ITG KuVS Workshop on “Future Internet” November 22, 2010 Hannover Zdravko Bozakov.
Keystone PCIe Usage Eric Ding.
Introduction to Kernel
In-Band Flow Establishment for End-to-End QoS in RDRN Saravanan Radhakrishnan.
1 I/O Management in Representative Operating Systems.
WANs and Routers Routers. Router Description Specialized computer Like a general purpose PC, a router has:  CPU  Memory  System Bus Connecting Internal.
Using Multicore Navigator Multicore Applications.
Implementing Efficient RSS Capable Hardware and Drivers for Windows 7
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Multicore Navigator: Queue Manager Subsystem (QMSS)
Using Multicore Navigator
KeyStone Resource Manager June What is resource manager? LLD for global Resource management – static assignment of the device resources to DSP cores.
1 Semester 2 Module 1 WANs and Routers Yuda college of business James Chen
KeyStone Multicore Navigator
Network Coprocessor (NETCP) Packet Accelerator (PA)
CS 6560 Operating System Design Lecture 13 Finish File Systems Block I/O Layer.
Module 2 Chapter 1:WAN’s and Routers. Topics 1.1 WANs 1.2 Routers.
KeyStone Training Network Coprocessor (NETCP) Overview.
LWIP TCP/IP Stack 김백규.
KeyStone Training Serial RapidIO (SRIO) Subsystem.
KeyStone MPM Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
C66x KeyStone Training HyperLink. Agenda 1.HyperLink Overview 2.Address Translation 3.Configuration 4.Example and Demo.
Network Coprocessor (NETCP) Packet Accelerator (PA)
QMSS: Components Overview Major HW components of the QMSS: Queue Manager Two PDSPs (Packed Data Structure Processors): – Descriptor Accumulation / Queue.
Ethernet Driver Changes for NET+OS V5.1. Design Changes Resides in bsp\devices\ethernet directory. Source code broken into more C files. Native driver.
CCNA 2 Week 1 Routers and WANs. Copyright © 2005 University of Bolton Welcome Back! CCNA 2 deals with routed networks You will learn how to configure.
Extended Memory Controller and the MPAX registers And Cache Multicore programming and Applications February 19, 2013.
1. 2 Router is a device which makes communication between two or more networks present in different geographical locations. Routers are data forwarding.
1 Version 3.1 Module 1 WANs and Routers. 2 Version 3.1 WANS WAN operates at the physical layer and the data link layer of the OSI reference model. Provide.
KeyStone Training Multicore Navigator: Packet DMA (PKTDMA)
1 DSP handling of Video sources and Etherenet data flow Supervisor: Moni Orbach Students: Reuven Yogev Raviv Zehurai Technion – Israel Institute of Technology.
Boot Sequence, Internal Component & Cisco 3 Layer Model 1.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNP 1 v3.0 Module 1 Overview of Scalable Internetworks.
Embedded Network Interface (ENI). What is ENI? Embedded Network Interface Originally called DPO (Digital Product Option) card Printer without network.
Network Protocols and Standards (Part 2). The OSI Model In 1984, the International Organization for Standardization (ISO) defined a standard, or set of.
NetCP - NWAL API Flow. NetCP (HW,SW) Overview NWAL Feature Overview Data path offload Control configuration –Blocking / Non Blocking support –L2: MAC.
Using Multicore Navigator CIV Application Team January 2012.
Network Coprocessor (NETCP) Overview
1 Introduction to Routers Nasir Majeed Assistant Professor PTCL Academy Islamabad.
1 CSE 5346 Spring Network Simulator Project.
OSI ARCHITECTURE IN OSI, ACTUAL INFORMATION IS OVERHEADED BY PROTOCOL LAYERS IF ALL SEVEN LAYERS ARE OVERHEADED, THEN AS LITTLE AS 15% OF THE TRANSMITTED.
Mote Clusters Thanos Stathopoulos CENS Systems Lab Joint work with Ben Greenstein, Lewis Girod, Mohammad Rahimi, Tom Schoellhammer, Ning Xu, Richard Guy.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 1 WANs and Routers.
CHAPTER 3 Router CLI Command Line Interface. Router User Interface User and privileged modes User mode --Typical tasks include those that check the router.
CSL DAT Adapter CSL 2.x DAT Reference Implementation on EDMA3 hardware using EDMA3 Low level driver.
Routers 2nd semester
Introduction to Kernel
LWIP TCP/IP Stack 김백규.
Chapter 9: Virtual Memory
NOX: Towards an Operating System for Networks
Routers 2nd semester
Operating System I/O System Monday, August 11, 2008.
Chapter 4: Routing Concepts
CSI 400/500 Operating Systems Spring 2009
Final Review CS144 Review Session 9 June 4, 2008 Derrick Isaacson
Meng Cao, Xiangqing Sun, Ziyue Chen May 28th, 2014
Network-on-Chip Programmable Platform in Versal™ ACAP Architecture
Mr. M. D. Jamadar Assistant Professor
NS Training Hardware.
Presentation transcript:

KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team

Agenda Model Protocol Configuration Application Algorithm Build and Run

The Model Requirements: Efficiency – Not fairness Minimize master logic Master is not aware of structure of internal cores Producer = Master Consumer = Slave

Agenda Model Protocol Configuration Application Algorithm Build and Run

Producer (Master) Protocol Producer = Master Consumer = Slave

Consumer (Slave) Protocol Producer = Master Consumer = Slave

Agenda Model Protocol Configuration Application Algorithm Build and Run

Hardware Components

Packet DMA Topology PKTDMA Queue Manager SRIO Network Coprocessor FFTC (A) AIF Queue Manager Subsystem Multiple Packet DMA instances in KeyStone devices: PA and SRIO instances for all KeyStone devices. AIF2 and FFTC (A and B) instances are only in KeyStone devices for wireless applications. FFTC (B)

QMSS Descriptors Queuing The Queue Manager maintains a head pointer for each queue, which are initialized to be empty. We actually do not push indexes; We push descriptor addresses. The QM converts addresses to indexes.

Configuration/Initialization Flow Configuration Steps: 1.QMSS 2.Generic PKTDMA 3.QMSS PKTDMA 4.SRIO 5.SRIO PKTDMA 6.Sockets

QMSS Initialization Qmss_init (qmss_drv.c) – Number and location of the link RAM – Number of descriptors – APDSP firmware – Set global structure qmssLobj to be used later Qmss_start (qmss_drv.c) – Load global structure into local memory of each core Qmss_insertMemoryRegion (qmss_drv.c) – Base address of each region – Number of descriptors – Size of descriptors – Region type – How the region is managed (either by the LLD or the application) – Region number (or not specified)

Global PKTDMA (CPPI) Initialization cppi_init (cppi_drv.c) loads all instances of PKTDMA from the global structure cppiGblCfgParas, which is defined in the file cppi_device.c – SRIO – PA – QMSS – AIF (wireless applications only) – FFTC (wireless applications only) – BCP (wireless applications only) SRIO PKTDMA (CPPI) configuration after SRIO configuration

SRIO Layers

SRIO Physical Layer

SRIO Initialization enable_srio – Power – PLL/Clock srioDevice_init – Handle for the SRIO instance – SERDES – Port – Routing and queues

SRIO PKTDMA (CPPI) Initialization Configure SRIO PKTDMA Set the Rx routing table to the following default locations: Type 11 Type 9 Direct IO

Application-specific Configuration “All Cores” Initialization 1.Create and initialize descriptors. 2.Allocate data buffers. 3.Associate a receive queue with each core. 4.Define receive free queue. 5.Define receive flows. 6.Define and configure transmit queues. 7.Enable transmit and receive channels. 8.Connect SRIO interrupts.

Open Sockets Srio_sockOpen() opens a socket Srio_sockBind() binds the opened socket to routing – Segmentation mapping

Agenda Model Protocol Configuration Application Algorithm Build and Run

Producer (Master) Application Algorithm Producer = Master Consumer = Slave

Consumer (Slave) Application Algorithm Producer = Master Consumer = Slave

Code Change: Producer generateApplicationData( fftInputBuffer[0], &parameter1) ; size = 1 << parameter1 ;

Code Change: Consumer else if (messageValue == TOKEN) { applicationCode ( ptr_rxDataPayload, parameter1, coreNum); }

Agenda Model Protocol Configuration Application Algorithm Build and Run

Breakout Connector Board

C6678L w/ Mezzanine Emulator

Build and Run Process 1.Unzip the two projects (producer and consumer). 2.Update the include path (compiler) and the files search path (linker). 3.Build both projects. 4.Connect DSP 0 and load producer to all cores. 5.Connect DSP 1 and load consumer to all cores. 6.Run DSP 0 and DSP 1.

Expected Results