October 10, 20001. 2 USB 2.0 Host Controllers (EHCI Specification) John S. Howard Intel Corporation.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Protocol Layer Bottom-up view of the USB protocol Bottom-up view of the USB protocol –Byte/Bit Ordering –SYNC Field –Packet Field Formats PID Field PID.
Universal Serial Bus Grant Heileman. The History of USB In 1994 a collaborative effort to design a standard for peripheral devices was made between Compaq,
Computer Organization and Architecture
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
May 17, USB 2.0 Hub Details John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
May 16, Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
USB: Data Flow Sukesh Shenoy. USB implementation areas.
Input-output and Communication Prof. Sin-Min Lee Department of Computer Science.
File Management Systems
1 USB 2.0 Specification  General Description  From where we could begin the work  What would be valid to do?  Main doubts  What is OTG (On the Go)
1 USB 2.0 Specification  General Description  What is OTG (On the Go)  From where we could begin the work  What would be valid to do?
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
USB – An Overview Group 3 Kaushik Nandha Bikram What is the Universal Serial bus (USB)? Is a cable bus that supports data exchange between a host computer.
EE 4272Spring, 2003 Chapter 14 LAN Systems Ethernet (CSMA/CD)  ALOHA  Slotted ALOHA  CSMA  CSMA/CD Token Ring /FDDI Fiber Channel  Fiber Channel Protocol.
Anush Rengarajan Feng Zheng Thomas Madaelil
1 I/O Management in Representative Operating Systems.
USB 2.0 INTRODUCTION NTUT CSIE 學 生:許家豪 指導教授:柯開維教授.
USB: UNIVERSAL SERIAL BUS Joe Kaewbaidhoon Alex Motalleb Vishal Joshi Prepared for EECS 373 University of Michigan, Ann Arbor 1.
October 10, USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.
SLAC asyn class, Day 1, August 26, 2010 Example asyn driver Modbus Mark Rivers, Marty Kraimer, Eric Norum University of Chicago Advanced Photon Source.
Hardware Interface Design Patterns Ahmet Selman Bozkır – Hacettepe Univ.
May 16, USB 2.0 Hub Additions John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Mahesh Wagh Intel Corporation Member, PCIe Protocol Workgroup.
Universal Serial Bus Evann Seary Mike Kezele. Content Overview History of USB Overview Future of USB USB 3.0 WUSB.
May 8, The EASY Way to Create I/O Devices John Hyde Intel Corporation intel.com.
October 10, Split Transaction Budgeting Algorithm John Garney Working Group Chair: Hub Intel Corporation John Garney Working Group Chair: Hub.
May 8, USB 2.0 Support in Windows ® Operating Systems Fred Bhesania Microsoft.
Memory Management ◦ Operating Systems ◦ CS550. Paging and Segmentation  Non-contiguous memory allocation  Fragmentation is a serious problem with contiguous.
May 8, USB 2.0 Technical Overview Brad Hosler USB Engineering Manager Intel Corporation.
October 10, USB 2.0 Hub Testing Dan Froelich Intel.
May 17, USB2.0 Host Controller John S. Howard Staff Engineer Intel Architecture Labs Intel Corporation.
October 10, Enabling USB 2.0 Peripherals Brad Hosler USB Engineering Manager Intel Corporation.
General System Architecture and I/O.  I/O devices and the CPU can execute concurrently.  Each device controller is in charge of a particular device.
Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses 11/06/20141Input/Output.
Interrupts. 2 Definition: An electrical signal sent to the CPU (at any time) to alert it to the occurrence of some event that needs its attention Purpose:
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
USB host for web camera connection
The University of New Hampshire InterOperability Laboratory Introduction To PCIe Express © 2011 University of New Hampshire.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Renesas Electronics America Inc. RX USB Peripheral The Renesas RX USB peripheral a.k.a. USBC_597IP_PP Ver
May 8, USB High Speed Compliance Program Overview Dan Froelich Intel Corporation.
May 16, USB 2.0 Technical Overview Brad Hosler USB Engineering Manager Intel Corporation.
October 10, USB 2.0 Technical Overview Brad Hosler USB Engineering Manager Intel Corporation.
Next Generation ISA Itanium / IA-64. Operating Environments IA-32 Protected Mode/Real Mode/Virtual Mode - if supported by the OS IA-64 Instruction Set.
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.
Intel Open Source Technology Center Lu Baolu 2015/09
IT3002 Computer Architecture
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
LonWorks Introduction Hwayoung Chae.
1394 H/W and OHCI Gi-Hoon Jung. 2002/01/162 Agenda Overview of the VITANA board OHCILynx PCI-based Host Controller Overview of the OHCI Spec.
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
USB PHYISICAL LAYER PROTOCOL ENGINE LAYER APPLICATION LAYER
Operating Systems (CS 340 D)
Flash EEPROM Emulation Concepts
Universal Serial Bus Specification 1.0
NS Training Hardware.
USB : Universal Serial Bus
I/O Systems I/O Hardware Application I/O Interface
Operating Systems Chapter 5: Input/Output Management
CS703 - Advanced Operating Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
NVMe.
Chapter 13: I/O Systems.
Presentation transcript:

October 10, 20001

2 USB 2.0 Host Controllers (EHCI Specification) John S. Howard Intel Corporation

October 10, Agenda w Project Overview w Key Features Overview – USB 2.0 Host Controller Architecture – EHCI HC Interface Architecture – EHCI HC Data Structures – Operational Models (Overview/Examples) w Host Controller Compliance Program w Summary

October 10, Project Overview w Intel developed specification with contributions from – NEC, Lucent, Philips, Compaq and Microsoft – Licensees ** can also contribute to specification w Enhanced Host Controller Specification for USB – Defines the architecture for a USB 2.0 capable host controller, and – Defines register (hardware/software) interface for a high-speed capable host controller

October 10, Project Overview w Public revisions will be available soon – Each revision comes with a license agreement – Revision 0.95 will be the first public release u License agreement provides reciprocal royalty free license to manufacture compliant discrete USB 2.0 host controllers based on this specification – Revision 1.0 is the final specification u License agreement provides reciprocal royalty free license to manufacture compliant USB 2.0 host controllers based on this specification Continued

October 10, USB 2.0 Host Controller Architecture w Multi-function Controller delivers 3 port speeds – Simplifies High-speed Host Controller u Optimize for high-speed functionality – Reuses USB 1.1 Host Controller Designs (drop-in) – USB ports work independent of high-speed capable software USB 2.0 Host Controller (HC) Port 1 Companion USB HCs for FS/LS Port 1 Port 2 Port Owner Control(s) Port 1 Port 2 Port Routing Logic Port N HC Control Logic/Data Buffering Enhanced HC Control Logic Enhanced Data Buffering Port 2 Port N High-Speed (Enhanced Interface) USB HC

October 10, USB 2.0 Host Controller Architecture: Port Routing Rules w Ports owned by Companion controllers when HS HC software is absent w When HS HC Software is present, it “configures” High-Speed HC then: – Retains ownership for high-speed devices – Releases individual port ownership if attached device is not high speed u Routing Logic signals a disconnect on HS HC and a connect on Companion HC – Ownership returns to HS HC on a disconnect event Companion USB 1.1 HC X Port Register High Speed HC (EHCI) (EHCI) TransceiverTransceiver Port Routing Logic Port Owner Control HC Configured Port Register

October 10, EHCI Interface Architecture (Overview) Capability Registers Operational Registers Memory-Based I/O Registers PCI Class Code, etc. USB Base Address PCI Power Management Interface PCI Configuration Register Shared Memory Work Lists Periodic List Asynchronous List

October 10, Operational I/O Registers w Command/Configuration – Management of HC, schedules on/off, etc. w Status w Interrupt Management w Schedule Management – Periodic Base Pointer – Frame Index – Asynchronous List Pointer w Port Status and Control

October 10, Agenda w Project Overview w Key Features Overview – USB 2.0 Host Controller Architecture – EHCI HC Interface Architecture – EHCI HC Data Structures – Operational Models (Overview/Examples) w Host Controller Compliance Program w Summary

October 10, EHCI Data Structures w Five (5) basic data structures (schedule objects) – Queuing Data Structure (2) – High-speed isochronous (1) – Full-speed isochronous (1) – Frame List (1) w Used to build construct Periodic and Asynchronous Schedules w All data structures support simple data buffer scatter/gather

October 10, Queuing Data Structures Overview w Queues are used for ALL Non-Isochronous transfers w Uses 2 data structures: – qHead and a qElement w 1 queue per endpoint w Each queue element (transaction descriptor) describes a buffer (1 to many transactions) – Up to 20 Kbytes per transaction descriptor u 16Kbytes with worst-case buffer alignment w No Hardware/software sync required to add work to a queue w Architecture optimized to provide efficient memory accesses – Block, burst accesses – Efficient, cache execution model

October 10, HS Isochronous Data Structure Overview w HS Isochronous use isochronous Transfer Descriptors (iTDs) w Linked into periodic schedule (made ‘reachable’ in the appropriate frames) w Time-oriented data structure – “Frame number” encoded in topology of list – No hardware (micro)-frame arithmetic required – Position of work item in periodic list determines when it will be “seen” and executed by the host controller w 8 transaction descriptions per iTD w Supports High-bandwidth w Supports up to 28K bytes per iTD w Requires multiple iTDs to maintain HS isochronous data stream Buffer pointer Array Next Transaction Record Description Array (8) Endpoint Information Isochronous Transfer Descriptor (iTD)

October 10, FS Isochronous Data Structure Overview w FS Isochronous uses split isochronous Transfer Descriptors (siTDs) w Similar usage and behavioral model as iTDs, except: w Will only use split transactions w 1 FS transaction per siTD – Linked in one siTD per Frame w Supports one page boundary w Appropriate mechanisms to care and feed isoch split transaction Next Endpoint Info. Transfer State Buffer pointer(s)

October 10, Periodic Frame List w Array of schedule object pointers w Represents a rolling window of time – Each location is base pointer for one frame’s worth of work (8 micro- frames) – Frame work for establishing time oriented reachability w HC builds a Periodic Frame list address from: – Periodic frame list base address – Frame Index Register [12:3] u increments once each frame (1ms) Frame List Base Frame Index Periodic Frame List … To schedule graph Accesses same offset 8 micro- frames before preceding to next location

October 10, Agenda w Project Overview w Key Features Overview – USB 2.0 Host Controller Architecture – EHCI HC Interface Architecture – EHCI HC Data Structures – Operational Models (Overview/Examples) w Host Controller Compliance Program w Summary

October 10, EHCI Operational Models w Asynchronous Schedule Overview w Queuing example operation w Periodic Schedule Overview w HS Isochronous w HS Interrupt w Asynchronous split transactions w Periodic split transactions

October 10, Current qHead Pointer Asynchronous Schedule Overview w Schedule includes only Queue Heads w Organized in simple, circular list w Manages HS/FS/LS asynchronous endpoints w Yields Round-Robin Service Order w Supports FS/LS asynchronous I/O Register: Asynchronous List Pointer

October 10, Queuing Example Operation Transfer Descriptors Linked to queue head by software driver Transfer Descriptors Linked to queue head by software driver qTD 0 qTD 2 Data Buffer 0 Data Buffer 1 qTD 1 Data Buffer 2 Queue Head: Static queue head information Dynamic transfer execution area Queue Head: Static queue head information Dynamic transfer execution area SetupSetup StatusStatus Setup Data Receive Data Buffer DataData Example: Control Transfer Initial Condition: QHD empty Example: Control Transfer Initial Condition: QHD empty Example: Control Transfer Software attaches list to QHD Example: Control Transfer Software attaches list to QHD Current (A) (A) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Setup Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD for 1 transaction Next (B)(B) (B) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Data Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD until done (B) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Data Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD until done CurrentCurrent CurrentCurrent NextNext (C) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Status Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD for 1 transaction (C) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Status Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD for 1 transaction (C)(C)

October 10, Periodic Schedule Overview w Periodic Frame List is the base – Size is optionally programmable w Objects linked so are ‘reachable’ at the correct time w Schedule graph includes: – Queue Heads for Interrupt – HS Isochronous, – FS Isochronous Poll Rate: N  1 Periodic Frame List End of List Mark 4 2 Periodic List Base + Frame Index[12:3] = current Frame offset

October 10, Frame Index [2:0] bits serve as index to select a transaction record; e.g. a value of 010b will select transaction record #2. If the Status.Active field of selected transaction record is a one, then a transaction will be executed Frame Index HS Isochronous Example Operation Starting data buffer is derived from: x = FRAME INDEX[2:0] BufferPageA[tRec[x].PG] concatenated with tRec[x].TransactionOffset Token is derived from EndPt and Device Address fields. Length of the transaction is: tRec[x].TransactionLength or Max Packet Size field, whichever is less. Direction of transfer is determined by the I/O field. Host controller decrements Transaction Length by the number of bytes moved, and updates the Status field appropriately.Concat. Buffer pointer Array Next Transaction Record Description Array (8) Endpoint Information Isochronous Transfer Descriptor (iTD)

October 10, HS Interrupt w Uses queuing data structures – No change to behavioral model w Linked into periodic schedule (made ‘reachable’ in the appropriate frames) – HS poll rates are micro-frames – Embedded bit-mask in qHead describes micro-frame pattern w Simple mechanism to support high-bandwidth

October 10, Asynchronous Split Transactions w Micro-machine extension to the HS queue execution model – HS transfer advancement occurs when HS transaction is complete – FS/LS transfer advancement occurs when start-split and complete splits are complete w Endpoint speed encoding directs HC to use split protocol w All other behavior same as HS asynchronous

October 10, Periodic Split Transactions w Used to service data streams through TT periodic pipelines w Requirement on HC is to: – Execute starts and completes when they need to occur w Each endpoint data structure contains: – Masks for Starts/Completes – Micro-state to track progress (to detect lost data, etc.) w Projection of core-spec bus frame boundaries into the host schedule created many scheduling boundary conditions, so…

October 10, Mapping Bus Frames to Host Frames w In order to simplify host for TT pipeline support: – Host view of frame boundaries is shifted one micro-frame

October 10, FS/LS Interrupt IN Example Operation Start-Mask40h Complete-Mask03h H-Frame B-Frame7 Queue Head SS CS 0 CS 1 Reachable from Frame list locations: 0,1, 8,9, 16,17 … (poll period of 8)

October 10, FS Isochronous IN Example Operation Start-Mask08h Complete-MaskC3h H-Frame X B-Frame 7 siTD X SS CS 0 CS 1 CS 2 CS 3 H-Frame X+1 siTD X+1

October 10, Agenda w Project Overview w Key Features Overview – USB 2.0 Host Controller Architecture – EHCI HC Interface Architecture – EHCI HC Data Structures – Operational Models (Overview/Examples) w Host Controller Compliance Program w Summary

October 10, EHCI Compliance Program EHCI Compliance Standard USB 2.0 Compliance Tests EHCI-specific Functional Testing Data Integrity Basic Feature Function Singleton Streaming Streaming Interoperability Stress USB 2.0 Electricals (HS/FS/LS) Hub Tests

October 10, EHCI Compliance Program w EHCI-specific compliance software under development at Intel w Special compliance devices (high-speed and full/low speed) w Special-purpose application and driver for controlled testing and analysis w Interface Functional Testing – Device Interoperability – USB 2.0 protocol and transfer extensions – System Interaction – Etcetera, … EHCI Compliance Application EHCI Compliance Test Driver EHCI Unit Under Test USB 2.0 Hub (s) HS Compliance Device(s) FS/LS Compliance Device (s)

October 10, EHCI Compliance Program w Test Availability w HC compliance test will be available from Intel – Method of distribution (to be defined) w Alpha-level tools available in Q w Beta-level tools available in Q w Production release available with release of 1.0 EHCI host controller specification in Q3 Note: all dates provided are for planning purposes only and are subject to change

October 10, Summary w Low-risk Introduction – All ports are HS/FS/LS Capable – Legacy (non-high-speed aware) software just works – Re-use of 1.1 controllers simplifies high-speed controller w Interface optimized for good memory access efficiency w Reasonable tradeoff of hardware/software complexity

October 10, Summary w Host controller compliance program – Alpha release Q1, 2001 – Beta release Q2, 2001 – Final with 1.0 EHCI Specification w Specification Revisions available: – Revision 0.95 for discrete HC Q – Revision 1.0 in 2001 u Gating item is validation of integrated host controller Continued Note: all dates provided are for planning purposes only and are subject to change