KeyStone Training Multicore Navigator Overview. Overview Agenda What is Navigator? – Definition – Architecture – Queue Manager Sub-System (QMSS) – Packet.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
TI Keystone Networking Coprocessor Introduction
Extended Memory Controller and the MPAX registers And Cache
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Processor System Architecture
CS-334: Computer Architecture
Keystone PCIe Usage Eric Ding.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Embedded Transport Acceleration Intel Xeon Processor as a Packet Processing Engine Abhishek Mitra Professor: Dr. Bhuyan.
KeyStone IPC Inter-Processor Communications
KeyStone Training Multicore Applications Literature Number: SPRPXXX
External Devices I/O Modules Programmed I/O Interrupt Driven I/O Direct Memory Access I/O Channels and Processors.
2. Methods for I/O Operations
Using Multicore Navigator Multicore Applications.
Router Architectures An overview of router architectures.
Multicore Navigator: Queue Manager Subsystem (QMSS)
I/O Systems ◦ Operating Systems ◦ CS550. Note:  Based on Operating Systems Concepts by Silberschatz, Galvin, and Gagne  Strongly recommended to read.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Using Multicore Navigator
KeyStone Multicore Navigator
Network Coprocessor (NETCP) Packet Accelerator (PA)
SHAPES scalable Software Hardware Architecture Platform for Embedded Systems Hardware Architecture Atmel Roma, INFN Roma, ST Microelectronics Grenoble,
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
KeyStone Training Network Coprocessor (NETCP) Overview.
KeyStone Training Serial RapidIO (SRIO) Subsystem.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Network Coprocessor (NETCP) Packet Accelerator (PA)
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
QMSS: Components Overview Major HW components of the QMSS: Queue Manager Two PDSPs (Packed Data Structure Processors): – Descriptor Accumulation / Queue.
2009 Sep 10SYSC Dept. Systems and Computer Engineering, Carleton University F09. SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices 7.2.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
KeyStone Training Multicore Navigator: Packet DMA (PKTDMA)
Challenges in KeyStone Workshop Getting Ready for Hawking, Moonshot and Edison.
NS Training Hardware.
Input/Output Computer component : Input/Output I/O Modules External Devices I/O Modules Function and Structure I/O Operation Techniques I/O Channels and.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team.
NetCP - NWAL API Flow. NetCP (HW,SW) Overview NWAL Feature Overview Data path offload Control configuration –Blocking / Non Blocking support –L2: MAC.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Using Multicore Navigator CIV Application Team January 2012.
Network Coprocessor (NETCP) Overview
PART 7 CPU Externals CHAPTER 7: INPUT/OUTPUT 1. Input/Output Problems Wide variety of peripherals – Delivering different amounts of data – At different.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team.
Von Neumann Machines. 3 The Von Neumann Architecture Model for designing and building computers, based on the following three characteristics: 1)The.
The World Leader in High Performance Signal Processing Solutions Heterogeneous Multicore for blackfin implementation Open Platform Solutions Steven Miao.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Lecture Topics: 11/1 Processes Process Management
Chapter 3 Top Level View of Computer Function and Interconnection
Overview of Computer Architecture and Organization
Peripheral Devices
Created by Vivi Sahfitri
Overview of Computer Architecture and Organization
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems.
NS Training Hardware.
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

KeyStone Training Multicore Navigator Overview

Overview Agenda What is Navigator? – Definition – Architecture – Queue Manager Sub-System (QMSS) – Packet DMA (PKTDMA) – Descriptors and Queuing What can Navigator do? – Data movement – InterProcessor Communication – Job management

What is Navigator? – Definition – Architecture – Queue Manager Sub-System (QMSS) – Packet DMA (PKTDMA) – Descriptors and Queuing What can Navigator do? – Data movement – InterProcessor Communication – Job management

Definition Multicore Navigator is a collection of hardware components that facilitate data movement and multi-core control. The major components within the Navigator domain are: – A hardware Queue Manager (QM). – Specialized packet DMAs, called PKTDMA. – Data structures to describe packets, called descriptors. – A consistent API to manipulate descriptors and hardware. Navigator is the primary data movement engine in Nyquist, Turbo Nyquist and Shannon devices. Designed to be a “fire and forget” system – load the data and the system handles the rest, without CPU intervention.

Navigator Architecture

Navigator Architecture: PKTDMA

Navigator Architecture: QMSS

Navigator Architecture: Host

Queue Manager Subsystem (QMSS) Features: – 8192 total hardware queues, some dedicated to qpend signals. HW signals route to Tx DMA channels and chip level CPINTC. – 20 Memory regions for descriptor storage (LL2, MSMC, DDR) – 2 Linking RAMs for queue linking/management Up to 16K descriptors can be handled by internal Link RAM. Second Link RAM can be placed in L2 or DDR. – Up to 512K descriptors supported in total. Major hardware components: – Queue Manager – PKTDMA (Infrastructure DMA) – 2 PDSPs (Packed Data Structure Processors) for: Descriptor Accumulation / Queue Monitoring Load Balancing and Traffic Shaping – Interrupt Distributor (INTD) module

Queue Mapping This table shows the mapping of queue number to functionality. Queues associated with queue pend signals should not be used for general use, such as free descriptor queues (FDQs). Others can be used for any purpose. Queue RangeCountHardware TypePurpose 0 to pdsp/firmwareLow Priority Accumulation queues 512 to queue pendAIF2 Tx queues 640 to 65112queue pendPA Tx queues (PA PKTDMA uses the first 9 only) 652 to 67120queue pendCPintC0/intC1 auto-notification queues 672 to 68716queue pendSRIO Tx queues 688 to 6958queue pendFFTC_A and FFTC_B Tx queues ( for FFTC_A) 696 to 7038General purpose 704 to 73532pdsp/firmwareHigh Priority Accumulation queues 736 to 79964Starvation counter queues 800 to 83132queue pendQMSS Tx queues 832 to 86332Queues for traffic shaping (supported by specific firmware) 864 to 89532queue pendvUSR queues for external chip connections 896 to General Purpose

Packet DMA Topology 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. PKTDMA Queue Manager SRIO Network Coprocessor FFTC (A) AIF Queue Manager Subsystem FFTC (B)

Packet DMA (PKTDMA) Features Independent Rx and Tx cores: – Tx Core: Tx channel triggering via hardware qpend signals from QM. Tx core control is programmed via descriptors. 4 level priority (round robin) Tx Scheduler – Additional Tx Scheduler Interface for AIF2 (wireless applications only) – Rx Core: Rx channel triggering via Rx Streaming I/F. Rx core control is programmed via an “Rx Flow” (more later) 2x128 bit symmetrical Streaming I/F for Tx output and Rx input – These are wired together for loopback in QMSS’ PKTDMA. – Connects to peripheral’s matching streaming I/F (Tx->Rx, Rx->Tx) Packet based, so neither Rx or Tx cores care about payload format.

Descriptor Types Two descriptor types are used within Navigator: – Host type provide flexibility, but are more difficult to use Contains a header with a pointer to the payload. Can be linked together (packet length is the sum of payload (buffer) sizes). – Monolithic type are less flexible, but easier to use Descriptor contains the header and payload. Cannot be linked together. All payload buffers are equally sized (per region).

Descriptor Queuing This diagram shows several descriptors queued together. Things to note: Only the Host Packet is queued in a linked Host descriptor. A Host Packet is always used at SOP, followed by zero or more Host Buffer types. Multiple descriptor types may be queued together, though not commonly done in practice.

What is Navigator? – Definition – Architecture – Queue Manager Sub-System (QMSS) – Packet DMA (PKTDMA) – Descriptors and Queuing What Can Navigator Do? – Data Movement – InterProcessor Communication – Job Management What Can Navigator Do?

Navigator Functionality Three major areas: – Data Movement Peripheral input and output Infrastructure, or core-to-core transfers Chaining of transfers (output of PKTDMA A triggers PKTDMA B) – Inter-Processor Communication (IPC) Task/Core synchronization Task/Core notification – Job Management Resource Sharing Load Balancing

Data Movement: Normal Peripheral input and output: – Drive data through IP block using QM and PKTDMA – Simple transmit is shown Infrastructure or core-to- core transfers: – Transfer payload from L2 to L2, or DDR

Data Movement: Chaining Chaining of IP transfers (output of PKTDMA 1 triggers PKTDMA 2). Chaining is accomplished by peripheral 1 pushing to a queue that is a Tx queue for peripheral 2.

IPC Using QM without a PKTDMA Synchronization – Queues are used by tasks or cores as a sync resource. – Multiple receivers (slaves) can sync on the same trigger. – Can also be done using the QMSS Interrupt Distributor, or the CpIntC queue pend queues. Notification – Zero copy messaging using shared memory – Producers and consumers may be on different cores or the same core. – Notification can be interrupt or polling.

Job Management Two main variations: – Resource Sharing Multiple job queues are scheduled for a single shared resource. A resource can be a peripheral (e.g. FFTC) or a DSP task/core. – Load Balancing Single job queue is fanned out to several resources. The goal is to send a job to the least busy core. – Distributed (multi) schedulers are another variation.

For More Information For more information, refer to the to Multicore Navigator User Guide For questions regarding topics covered in this training, visit the support forums at the TI E2E Community website.TI E2E Community