Core-Centric Communication Protocol Introducing Open Core Protocol 2

Slides:



Advertisements
Similar presentations
Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
Advertisements

Homework Reading Machine Projects Labs
Chapter 7: System Buses Dr Mohamed Menacer Taibah University
3D Graphics Content Over OCP Martti Venell Sr. Verification Engineer Bitboys.
System Integration and Performance
I/O Organization popo.
Presenter : Cheng-Ta Wu Kenichiro Anjo, Member, IEEE, Atsushi Okamura, and Masato Motomura IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 39,NO. 5, MAY 2004.
Threads, SMP, and Microkernels
Standard Interfaces for FPGA Components Joshua Noseworthy Mercury Computer Systems Inc.
INPUT-OUTPUT ORGANIZATION
Computer Science & Engineering
Datorteknik BusInterfacing bild 1 Bus Interfacing Processor-Memory Bus –High speed memory bus Backplane Bus –Processor-Interface bus –This is what we usually.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 1:Interrupts and shared memory dr.ir. A.C. Verschueren.
PradeepKumar S K Asst. Professor Dept. of ECE, KIT, TIPTUR. PradeepKumar S K, Asst.
Pipeline transfer testing. The purpose of pipeline transfer increase the bandwidth for synchronous slave peripherals that require several cycles to return.
CS-334: Computer Architecture
Main Mem.. CSE 471 Autumn 011 Main Memory The last level in the cache – main memory hierarchy is the main memory made of DRAM chips DRAM parameters (memory.
DIRECT MEMORY ACCESS CS 147 Thursday July 5,2001 SEEMA RAI.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
TECH CH03 System Buses Computer Components Computer Function
USB 2.0 INTRODUCTION NTUT CSIE 學 生:許家豪 指導教授:柯開維教授.
Gursharan Singh Tatla Transport Layer 16-May
INPUT-OUTPUT ORGANIZATION
CS-334: Computer Architecture
Interconnection Structures
OCP: Open Core Protocol Marta Posada ESA/ESTEC June 2006.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
Standard based Instrumentation schemes for 3D SoC Neal Stollon Chairman, Nexus 5001 Forum
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
11 Using SPIRIT for describing systems to debuggers DSDP meeting February 2006 Hobson Bullman – Engineering Manager Anthony Berent – Debugger Architect.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Top Level View of Computer Function and Interconnection.
Operating Systems Lecture 02: Computer System Overview Anda Iamnitchi
(Business) Process Centric Exchanges
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
EEE440 Computer Architecture
GreenBus Extensions for System-On-Chip Exploration.
ECE 526 – Network Processing Systems Design Computer Architecture: traditional network processing systems implementation Chapter 4: D. E. Comer.
Memory Subsystem verification – Can it be taken for granted ?
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Presenter : Shao-Chieh Hou 2012/8/27 Second ACM/IEEE International Symposium on Networks-on-Chip IEEE computer society.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
PART 7 CPU Externals CHAPTER 7: INPUT/OUTPUT 1. Input/Output Problems Wide variety of peripherals – Delivering different amounts of data – At different.
Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the Field Programmable Port Extender John Lockwood and David Taylor Washington University.
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Chapter 6 Input/Output Organization
System Interconnect Fabric
Burst read Valid high until ready high
OCP-IP SLD New Generation Using OSCI-TLM-2
NVMe.
William Stallings Computer Organization and Architecture 7th Edition
Presentation transcript:

Core-Centric Communication Protocol Introducing Open Core Protocol 2 Core-Centric Communication Protocol Introducing Open Core Protocol 2.0 Franck Seigneret, Texas Instruments France OCP-IP GSC member

Introducing OCP 2.0…. Motivation / Background The Open Core Protocol 2.0 Basic OCP OCP simple extensions Burst extension Threading extension OCP as a system socket Related work / conclusion

Motivation: reuse without rework SOC designers want to reuse IP cores to shorten development schedules. Problem: IP cores need to be re-adapted into each system design 1000s of cores, 10s or 100s of interconnects/buses must understand lots of interfaces overwhelming amount of adaptation work Motivation: reuse without rework Plug-and-play between cores and interconnects systems from different sources.

Solution: Core/System Protocol What is needed is a standard, well-defined protocol for cores to talk to a system interconnect. On-chip interconnect Core 1 core i/f System socket Core 2 Core N Core designers System integrator

Core/System Protocol Requirements Clearly-specified contract between core developer and system integrator Core-Centric Interconnect neutral (not some bus protocol) Encompass entire core/system interface Scalable and configurable Process independent, synthesis/timing analysis friendly

Introducing OCP 2.0…. Motivation / Background The Open Core Protocol 2.0 Basic OCP OCP simple extensions Burst extension Threading extension OCP as a system socket Related work / conclusion

Open Core Protocol 2.0 Open Core Protocol (OCP) is a core-centric protocol under the governance of the OCP-IP association to enable true core plug-and-play and re-use This is an OPEN standard OCP-IP is driven by a pool of key players in the semiconductor industry: Nokia, Texas Instruments, STMicroelectronics, UMC, MIPS, Philips, Sonics, EDA vendors… Multiple working groups (specification, functional verification, SystemC modeling…): make of OCP a “living” standard Think of OCP as configurable core socket OCP 2.0 specification (and much more) can be freely downloaded from the OCP-IP web site: www.ocpip.org

Basic OCP Concepts Point-to-point, uni-directional, synchronous Easy physical implementation Master/Slave, Request/Response model Well-defined, simple roles Extensions Added functionality to support cores with more complex interface requirements Configurability Match a core’s requirements exactly Tailor design to required features only

Introducing OCP 2.0…. Motivation / Background The Open Core Protocol 2.0 Basic OCP OCP simple extensions Burst extension Threading extension OCP as a system socket Related work / conclusion

Basic OCP Master / Slave Split protocol Multiple phases: System / Core Request phase Response phase Separate data handshake (optional) System / Core

OCP commands Idle… Read transfer Write transfer Exclusive accesses Standard Read ReadEx, ReadLinked for exclusive access Write transfer With or without response Posted (Write) or non posted (WriteNonPost) semantics Conditional (WriteConditional) for exclusive access Exclusive accesses Locked synchronization Atomic ReadEx / Write pairs Lazy synchronization Non atomic ReadLinked / WriteConditional pairs

Handshaking Each phase starts when sender asserts the phase for example, request phase starts when master sends a non-idle command Phase ends when receiver asserts handshake for example, request phase ends when slave asserts the command accept signal Handshaking allows both sides to assert flow control sender can delay asserting the phase receiver can delay asserting the handshake Example: core can’t take a request every cycle no need to add storage, just hold off on accepting requests if not ready

Handshake (Timing Diagram) 1 2 3 4 5 6 7 Cmd1 Cmd2 Cmd3 Clk MCmd MAddr SCmdAccept Addr1 Addr2 valid command Cmd1 accepted Cmd2 accepted Addr3

Ordering and Pipelining An OCP transfer is a complete request/response interaction For longer latency operations would like pipelining multiple requests can be sent before first response comes back example: CPU core has multiple outstanding cache misses OCP allows pipelining of transfers Responses must be returned in the order of the requests Requests and responses form a single ordered thread 1 2 3 4 Master Slave 1 2 3 4 Time

OCP phases within a transfer

Introducing OCP 2.0…. Motivation / Background The Open Core Protocol 2.0 Basic OCP OCP simple extensions Burst extension Threading extension OCP as a system socket Related work / conclusion

OCP Simple Extensions Byte enables Provide byte addressing capability on a multi-byte interface Multiple address spaces, mapped at non contiguous address ranges. Typically to: Differentiate core registers from core memory space Differentiate cores within a sub system Custom in-band signaling To any of the transfer phases: Request, response, datahandshake Typical usage: Cache signaling, application/emulation qualifier, dynamic endianness qualifier…

Introducing OCP 2.0…. Motivation / Background The Open Core Protocol 2.0 Basic OCP OCP simple extensions Burst extension Threading extension OCP as a system socket Related work / conclusion

Burst extension Multiple OCP transfers can be linked into a burst transaction Cores such as DRAM controllers can supply the second related piece of data much faster than the first Bursts allow a target to know that there are more transfers coming, so it can pre-fetch Bursts are linked together using a burst code that is supplied with every transfer burst signaling supplies the burst address sequence, the burst length, the burst type, etc....

The OCP burst flexibility Ability to handle precise bursts (the length is known) and un-precise bursts (the length is unknown). Ability to specify standard address sequences (incrementing, wrapping, streaming, XOR) as well as custom address sequences. Ability to support single request/multiple data transaction models. Ability to define atomic sub-units within a burst for fine control of the request interleaving throughout the system interconnect. Ability to add complete framing information with all transfer phases.

Introducing OCP 2.0…. Motivation / Background The Open Core Protocol 2.0 Basic OCP OCP simple extensions Burst extension Threading extension OCP as a system socket Related work / conclusion

Threading extension Within an OCP thread, responses must return in the order of the requests. For some cores, out-of-order responses are desirable A multi-bank DRAM controller can return requests to an open bank faster than to a closed one A DMA controller can handle multiple outstanding transactions from multiple channels on the same OCP port An OCP interface can support multiple threads Allows for concurrency and out-of-order returns Each thread retains strict ordering semantics BUT: there are is no ordering between transfers in different threads

Threads (illustrated) 1B 2A 2B Master time Slave 1A 2A 1B 2B Thread A Thread B Golden rule Strict ordering within a thread No ordering between threads Requests, data, responses are tagged with a threadID Multithreading also helps reducing the number of wires, to limit the routing congestions

Introducing OCP 2.0…. Motivation / Background The Open Core Protocol 2.0 Basic OCP OCP simple extensions Burst extension Threading extension OCP as a system socket Related work / conclusion

Control and Test Signals Reset Interrupt Transaction error reporting Core Flags (core-to-core) Core Status/Control (system-to-core) Test: Scan chains and standard JTAG (IEEE1149) …and platform specific signals also known as Sideband Signals because they are out-of-band with respect to data flow signals

Configurability OCP is configurable to tailor the interface exactly to the features required by the core Basic OCP is very simple Many extensions exist for cores with more complex interface requirements OCP is configured via a set of parameters Control the presence of a set of signals example: core makes use of byte enables Control the width of a set of signals example: address width is 14 bits Control protocol features example: core uses data handshaking to pipeline write data

OCP as IP Core Delivery Vehicle OCP is not just a core/system interface specification OCP also specifies: Precise description format for core interfaces Precise description format for timing of core interfaces Core performance information Configuration information is in machine-readable TCL file format Allows for automated processing, at both core and interconnect level Core designer and system integrator’s job is greatly simplified

System Usage of Open Core Protocol Can wrap any on-chip interconnect using OCP Yields system ready for plug-and-play with IP cores Well-specified protocol allows interconnect wrapper-generation to be automated. IP Core On-Chip Interconnect Slave Master Open Protocol Core

Introducing OCP 2.0…. Motivation / Background The Open Core Protocol 2.0 Basic OCP OCP simple extensions Burst extension Threading extension OCP as a system socket Related work / conclusion

Related Work / Conclusion Virtual Socket Interface Alliance (VSIA) has also putting forth the idea of a standard IP core socket Virtual Component Interface (VCI) VCI and OCP are completely aligned in terms of their goals October 2003: VSIA endorses the OCP interface, OCP-IP becomes the first VSIA adoption group The recently unveiled ARM AXI specification also refers to the same foundations, a well as many company in-house protocols…  This re-enforces the pioneer role played by OCP. Today, only OCP can be presented as the de-facto industry standard for a core complete socket

THANK YOU. For more information, please take a look at http://www THANK YOU ! For more information, please take a look at http://www.ocpip.org/ and… stop at the OCP-IP booth in this conference center