ec303 - chapter 6 buses interfacing

Upload: chin

Post on 04-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    1/44

    EC303 COMPUTER

    ARCHITECTURE

    CHAPTER 6. Buses & Interfacing

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    2/44

    Learning Outcomes

    At the end of this presentation, students will be

    able to:

    i. Describe a typical block diagram that shows interconnection

    between components in computer.

    ii. Explain the data flow between components in bus system

    iii. Determine a problem involving the computers ability to

    determine peripheral device.

    iv. Explain the advantages of using Direct Memory Access

    (DMA) to most systems

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    3/44

    Interconnecting System Components

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    4/44

    Data Flow Components in Bus

    System The system bus is a cable which carries data communication

    between the major components of the computer, including

    the microprocessor.

    The system bus consists of three different groups of wiring,

    called :- the data bus,

    The control bus

    address bus.

    These all have separate responsibilities and characteristics.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    5/44

    Interconnection Between

    Component in Computer

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    6/44

    The Control Bus

    The control bus carries the signals relating to the control and

    co-ordination of the various activities across the computer,

    which can be sent from the control unit within the CPU

    Different architectures result in differing number of lines of

    wire within the control bus, as each line is used to perform aspecific task.

    For instance, different, specific lines are used for each of read,

    write and reset requests.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    7/44

    The Data Bus

    This is used for the exchange of data between the processor,

    memory and peripherals, and is bi-directional so that it allows

    data flow in both directions along the wires.

    The number of wires used in the data bus (sometimes known

    as the 'width') can differ. Each wire is used for the transfer of signals corresponding to a

    single bit of binary data.

    As such, a greater width allows greater amounts of data to be

    transferred at the same time.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    8/44

    The Address Bus

    The address bus contains the connections between the

    microprocessor and memory that carry the signals relating to

    the addresses which the CPU is processing at that time, such

    as the locations that the CPU is reading from or writing to.

    The width of the address bus corresponds to the maximumaddressing capacity of the bus, or the largest address within

    memory that the bus can work with.

    The addresses are transferred in binary format, with each line

    of the address bus carrying a single binary digit.

    Therefore the maximum address capacity is equal to two to

    the power of the number of lines present (2^lines).

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    9/44

    Introduction to Direct Memory

    Access (DMA) We have seen that to move data from :

    Input device to memory

    Memory to output device

    Memory location to memory location

    Requires that the source data be moved to the processor and

    then the processor data be moved to the destination

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    10/44

    DMA

    An obvious way to improve the data transfer rate is to remove

    the processor from the data transfer path. This is called DMA.

    Direct memory access (DMA) is also a feature of most

    computers that allows certain hardware sub modules to

    access system the memory for reading and writing

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    11/44

    DMA

    An important aspect governing the Computer System

    performance is the transfer of data between memory and I/O

    devices.

    The operation involves loading programs or data files from disk

    into memory, saving file on disk, and accessing virtual memory

    pages on any secondary storage medium.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    12/44

    Computer System with DMA

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    13/44

    Implementing DMA in a

    Computer System A DMA controller implements direct memory access in a

    computer system.

    It connects directly to the I/O device at one end and to the

    system buses at the other end. It also interacts with the CPU,

    both via the system buses and two new direct connections. It is sometimes referred to as a channel. In an alternate

    configuration, the DMA controller may be incorporated

    directly into the I/O device.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    14/44

    Data Transfer using DMA

    Controller To transfer data from an I/O device to memory, the DMA

    controller first sends a Bus Request to the CPU by setting BRto 1. When it is ready to grant this request, the CPU sets its

    Bus grant signal, BG to 1.

    The CPU also tri-states its address,data, and control lines thustruly granting control of the system buses to the DMAcontroller.

    The CPU will continue to tri-state its outputs as long as BR isasserted.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    15/44

    Advantages using Direct

    Memory Access (DMA) Computer system performance is improved by direct transfer

    of data between memory and I/O devices, bypassing the CPU.

    CPU is free to perform operations that do not use system

    buses.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    16/44

    Input & Output Addressing

    Technique

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    17/44

    Learning Outcomes

    At the end of this presentation, students will be

    able to:

    i. Explain two general techniques commonly used to

    addressing input and output (I/O) device on the bus.

    a. Isolated I/O

    b. Memory mapping I/O

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    18/44

    INPUT-OUTPUT

    ORGANIZATION Peripheral Devices

    Input-Output Interface

    Asynchronous Data Transfer

    Modes of Transfer

    Priority Interrupt

    Direct Memory Access

    Input-Output Processor

    Serial Communication

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    19/44

    PERIPHERAL DEVICES

    Input Devices

    Keyboard

    Optical input devices

    - Card Reader

    - Paper Tape Reader

    - Bar code reader

    - Digitizer

    - Optical Mark Reader

    Magnetic Input Devices

    - Magnetic Stripe Reader

    Screen Input Devices

    - Touch Screen

    - Light Pen

    - Mouse

    Analog Input Devices

    Output Devices

    Card Puncher, Paper Tape Puncher

    CRT

    Printer (Impact, Ink Jet,

    Laser, Dot Matrix)

    Plotter

    Analog

    Voice

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    20/44

    INPUT/OUTPUT INTERFACE Provides a method for transferring information between internal storage

    (such as memory and CPU registers) and external I/O devices

    Resolves the differences between the computer and peripheral devices

    Peripherals - Electromechanical Devices

    CPU or Memory - Electronic Device

    Data Transfer Rate

    Peripherals - Usually slower

    CPU or Memory - Usually faster than peripherals

    Some kinds of Synchronization mechanism may be needed

    Unit of Information

    PeripheralsByte, Block,

    CPU or Memory Word

    Data representations may differ

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    21/44

    I/O BUS AND INTERFACE

    MODULES

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    22/44

    CONNECTION OF I/O BUS

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    23/44

    I/O BUS AND MEMORY BUS MEMORY BUS is for information transfers between CPU and the MM

    I/O BUS is for information transfers between CPUand I/O devices through their I/O interface

    Many computers use a common single bus system- for both memory and I/O interface units- Use one common bus but separate control lines for each function- Use one common bus with common control lines for both functions

    Some computer systems use two separate buses,one to communicate with memory and the other with I/O interfaces

    - Communication between CPU and all interface units is via a commonI/O Bus

    - An interface connected to a peripheral device may have a number ofdata registers , a control register, and a status register- A command is passed to the peripheral by sending to the appropriateinterface register- Function code and sense lines are not needed (Transfer of data, control,

    and status information is always via the common I/O Bus)

    Functions of Buses

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    24/44

    ISOLATED vs MEMORY

    MAPPED I/O Isolated I/O- Separate I/O read/write control lines in addition to memory read/write

    control lines

    - Separate (isolated) memory and I/O address spaces

    - Distinct input and output instructions

    Memory-mapped I/O

    - A single set of read/write control lines(no distinction between memory and I/O transfer)

    - Memory and I/O addresses share the common address space

    > reduces memory address range available- No specific input or output instruction

    > The same memory reference instructions can be used for I/O transfers

    - Considerable flexibility in handling I/O operations

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    25/44

    Memory mapping IO

    Single address space for both memory and I/O devices

    disadvantage uses up valuable memory address space

    I/O module registers treated as memory addresses

    Same machine instructions used to access both memory and

    I/O devices

    advantage allows for more efficient programming

    Single read line and single write lines needed

    Commonly used

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    26/44

    Isolated IO

    Separate address space for both memory and I/O devices

    Separate memory and I/O select lines needed

    Small number of I/O instructions

    Commonly used

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    27/44

    Input & Output Interfacing

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    28/44

    Learning Outcomes

    At the end of this presentation, students will be

    able to:

    i. Define Universal Serial Bus (USB).

    ii. Explain Host Controller for USB

    iii. Explain items in class codes for USB

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    29/44

    USB

    Universal Serial Bus (USB) is an industry standard developed in the

    mid-1990s that defines the cables, connectors and communications

    protocols used in a bus for connection, communication and power

    supply between computers and electronic devices.[2]

    USB was designed to standardize the connection ofcomputer

    peripherals, such as keyboards, pointing devices, digital cameras,

    printers, portable media players, disk drives and network adapters

    to personal computers, both to communicate and to supply electric

    power. It has become commonplace on other devices, such as

    smartphones, PDAs and video game consoles.[3] USB has effectively

    replaced a variety of earlier interfaces, such as serial and parallelports, as well as separate power chargers for portable devices.

    As of 2008[update], approximately 6 billion USB ports and interfaces

    are currently in the global marketplace, and about 2 billion were

    being sold each year.

    http://en.wikipedia.org/wiki/Industry_standardhttp://en.wikipedia.org/wiki/Communications_protocolhttp://en.wikipedia.org/wiki/Communications_protocolhttp://en.wikipedia.org/wiki/Bus_%28computing%29http://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/Computer_peripheralhttp://en.wikipedia.org/wiki/Computer_peripheralhttp://en.wikipedia.org/wiki/Mouse_%28computing%29http://en.wikipedia.org/wiki/Portable_media_playerhttp://en.wikipedia.org/wiki/Disk_drivehttp://en.wikipedia.org/wiki/Network_interface_controllerhttp://en.wikipedia.org/wiki/Personal_computerhttp://en.wikipedia.org/wiki/Electric_powerhttp://en.wikipedia.org/wiki/Electric_powerhttp://en.wikipedia.org/wiki/Smartphonehttp://en.wikipedia.org/wiki/Personal_digital_assistanthttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/Serial_porthttp://en.wikipedia.org/wiki/Parallel_porthttp://en.wikipedia.org/wiki/Parallel_porthttp://en.wikipedia.org/wiki/Power_chargerhttp://en.wikipedia.org/w/index.php?title=Universal_Serial_Bus&action=edithttp://en.wikipedia.org/w/index.php?title=Universal_Serial_Bus&action=edithttp://en.wikipedia.org/wiki/Power_chargerhttp://en.wikipedia.org/wiki/Parallel_porthttp://en.wikipedia.org/wiki/Parallel_porthttp://en.wikipedia.org/wiki/Serial_porthttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Personal_digital_assistanthttp://en.wikipedia.org/wiki/Smartphonehttp://en.wikipedia.org/wiki/Electric_powerhttp://en.wikipedia.org/wiki/Electric_powerhttp://en.wikipedia.org/wiki/Personal_computerhttp://en.wikipedia.org/wiki/Network_interface_controllerhttp://en.wikipedia.org/wiki/Disk_drivehttp://en.wikipedia.org/wiki/Portable_media_playerhttp://en.wikipedia.org/wiki/Mouse_%28computing%29http://en.wikipedia.org/wiki/Computer_peripheralhttp://en.wikipedia.org/wiki/Computer_peripheralhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Bus_%28computing%29http://en.wikipedia.org/wiki/Communications_protocolhttp://en.wikipedia.org/wiki/Communications_protocolhttp://en.wikipedia.org/wiki/Industry_standard
  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    30/44

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    31/44

    USB

    group of seven companies began development on USB in 1994: Compaq, DEC, IBM, Intel,Microsoft, NEC and Nortel. The goal was to make it fundamentally easier to connectexternal devices to PCs by replacing the multitude of connectors at the back of PCs,addressing the usability issues of existing interfaces, and simplifying software configurationof all devices connected to USB, as well as permitting greater data rates for externaldevices.

    The original USB 1.0 specification, which was introduced in January 1996, defined data

    transfer rates of 1.5 Mbit/s "Low Speed" and 12 Mbit/s "Full Speed".[5]

    The first widely usedversion of USB was 1.1, which was released in September 1998.

    A USB Standard Type A plug, the most common USB plug

    The USB 2.0 specification was released in April 2000 and was ratified by the USBImplementers Forum (USB-IF) at the end of 2001. Hewlett-Packard, Intel, LucentTechnologies (now Alcatel-Lucent), NEC and Philips jointly led the initiative to develop ahigher data transfer rate, with the resulting specification achieving 480 Mbit/s, a fortyfoldincrease over the original USB 1.1 specification.

    The USB 3.0 specification was published on 12 November 2008. Its main goals were toincrease the data transfer rate (up to 5 Gbit/s), to decrease power consumption, to increasepower output, and to be backwards-compatible with USB 2.0.[7] USB 3.0 includes a new,higher speed bus called SuperSpeed in parallel with the USB 2.0 bus.[8] For this reason, thenew version is also called SuperSpeed.[9] The first USB 3.0 equipped devices were presentedin January 2010.[9][10]

    http://en.wikipedia.org/wiki/Compaqhttp://en.wikipedia.org/wiki/Digital_Equipment_Corporationhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/Intelhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/NEChttp://en.wikipedia.org/wiki/Nortelhttp://en.wikipedia.org/wiki/Mbithttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USB_Implementers_Forumhttp://en.wikipedia.org/wiki/USB_Implementers_Forumhttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/Lucent_Technologieshttp://en.wikipedia.org/wiki/Lucent_Technologieshttp://en.wikipedia.org/wiki/Philipshttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/Philipshttp://en.wikipedia.org/wiki/Lucent_Technologieshttp://en.wikipedia.org/wiki/Lucent_Technologieshttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/USB_Implementers_Forumhttp://en.wikipedia.org/wiki/USB_Implementers_Forumhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/Mbithttp://en.wikipedia.org/wiki/Nortelhttp://en.wikipedia.org/wiki/NEChttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Intelhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/Digital_Equipment_Corporationhttp://en.wikipedia.org/wiki/Compaq
  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    32/44

    usb

    Prereleases

    The USB standard evolved through several versions before its

    official release in 1995:

    USB 0.7: Released in November 1994.

    USB 0.8: Released in December 1994.

    USB 0.9: Released in April 1995.

    USB 0.99: Released in August 1995.

    USB 1.0 Release Candidate: Released in November 1995.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    33/44

    Usb 1.0

    USB 1.0

    USB 1.0: Released in January 1996.

    Specified data rates of1.5 Mbit/s (Low-Bandwidth) and

    12 Mbit/s (Full-Bandwidth). Does not allow for extension

    cables or pass-through monitors (due to timing and powerlimitations). Few such devices actually made it to market.

    USB 1.1: Released in August 1998.

    Fixed problems identified in 1.0, mostly relating to hubs.

    Earliest revision to be widely adopted.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    34/44

    USB 2.0

    USB 2.0: Released in April 2000. Added higher maximum

    bandwidth of480 Mbit/s (60 MB/s) (now called "Hi-Speed").

    Further modifications to the USB specification have been done

    via Engineering Change Notices (ECN). The most important of

    these ECNs are included into the USB 2.0 specification packageavailable from USB.

    A PCI USB 2.0 card for a

    computer motherboard

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    35/44

    USB 3.0

    USB 3.0 was released in November 2008. The standard

    specifies a maximum transmission speed of up to 5 Gbit/s

    (625 MB/s), which is more than 10 times as fast as USB 2.0

    (480 Mbit/s, or 60 MB/s), although this speed is typically only

    achieved using powerful professional grade or developmentalequipment. USB 3.0 reduces the time required for data

    transmission, reduces power consumption, and is backward

    compatible with USB 2.0.

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    36/44

    USB 3.0

    The USB 3.0 Promoter Group announced on 17 November 2008 that

    the specification of version 3.0 had been completed and had made

    the transition to the USB Implementers Forum (USB-IF), the

    managing body of USB specifications.[13] This move effectively

    opened the specification to hardware developers for

    implementation in future products. A new feature is the"SuperSpeed" bus, which provides a fourth transfer mode at 5.0

    Gbit/s. The raw throughput is 4 Gbit/s (using 8b/10b encoding), and

    the specification considers it reasonable to achieve around 3.2

    Gbit/s (0.4 GB/s or 400 MB/s), increasing as hardware advances in

    the future take hold. Two-way communication is also possible. InUSB 3.0, full-duplex communications are done when using

    SuperSpeed (USB 3.0) transfer. In previous USB versions (i.e., 1.x or

    2.0), all communication is half-duplex and directionally controlled by

    the host.

    http://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/8b/10b_encodinghttp://en.wikipedia.org/wiki/SuperSpeedhttp://en.wikipedia.org/wiki/SuperSpeedhttp://en.wikipedia.org/wiki/8b/10b_encodinghttp://en.wikipedia.org/wiki/USB
  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    37/44

    Summary :USB

    Definition:

    A USB port is a standard cable connection interface on

    personal computers and consumer electronics.

    USB ports allow stand-alone electronic devices to be

    connected via cables to a computer (or to each other). USB stands for Universal Serial Bus, an industry standard for

    short-distance digital data communications.

    USB allows data to be transferred between devices. USB ports

    can also supply electric power across the cable to deviceswithout their own power source

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    38/44

    Host Controller Interface

    A host controller interface (HCI) is a register-level interface

    that enables a host controller for USB or FireWire hardware to

    communicate with a host controller driver in software. The

    driver software is typically provided with an operating system

    of a personal computer, but may also be implemented byapplication-specific devices such as a microcontroller.

    On the expansion card or motherboard controller, this involves

    much custom logic, with digital logic engines in FPGAs plus

    analog circuitry managing the high-speed differential signals.

    On the software side, it requires a device driver (called a HostController Driver, or HCD).

    http://en.wikipedia.org/wiki/Interface_%28computer_science%29http://en.wikipedia.org/wiki/Host_controllerhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/FireWirehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Personal_computerhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Expansion_cardhttp://en.wikipedia.org/wiki/Field-programmable_gate_arrayhttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Device_driverhttp://en.wikipedia.org/wiki/Device_driverhttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Field-programmable_gate_arrayhttp://en.wikipedia.org/wiki/Expansion_cardhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Personal_computerhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/FireWirehttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/Host_controllerhttp://en.wikipedia.org/wiki/Interface_%28computer_science%29
  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    39/44

    USB HOST CONTROLLER

    A Universal Serial Bus (USB) host controller is an interface thatallows an enabled piece of hardware to interact and communicatewith a particular piece of software. The USB connection is an inputand output port that comes standard with most computers and avariety of other digital equipment that allows data to be transmittedthrough a cable or any other form of direct connection. A USB host

    controller manages the communication between peripheral devicesand the computer system. Most modern computers have hi-speedUSB host controllers and many older computers can have a hostcontroller easily installed in an open slot on its motherboard.

    A hi-speed USB host controller maintains a connection betweensuch devices as a keyboard, mouse, modem or printer and ensuresthat the computer's operating system recognizes the device. Theoperating system relies on the USB host controller in order to avoidhaving to install individual drivers for every device connected. EveryUSB device communicates with the computers operating system ina standard programming language, such as C++.

    http://www.wisegeek.com/what-is-a-motherboard.htmhttp://www.wisegeek.com/what-is-a-motherboard.htmhttp://www.wisegeek.com/what-is-a-modem.htmhttp://www.wisegeek.com/what-is-a-modem.htmhttp://www.wisegeek.com/what-is-a-modem.htmhttp://www.wisegeek.com/what-is-a-motherboard.htm
  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    40/44

    Host Controller for USB

    i. Open Host Controller Interface

    ii. Universal Host Controller Interface (UHCI)

    iii. Enhanced Host Controller Interface (EHCI)

    iv. eXtensible Host Controller Interface (xHCI)

  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    41/44

    Host Controller for USB

    Open Host Controller Interface

    The OHCI standard for USB is similar, but supports USB 1.1 (full

    and low speeds) only; so as a result its register interface looks

    completely different. Compared with UHCI, it moves more

    intelligence into the controller, and thus is accordingly muchmore efficient; this was part of the motivation for defining it.

    If a computer provides non-x86 USB 1.1, or x86 USB 1.1

    without an Intel or VIA chipset, it probably uses OHCI (e.g.

    OHCI is common on add-in PCI Cards based on an NEC

    chipset).

    http://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USB
  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    42/44

    Host Controller for USB

    Universal Host Controller Interface (UHCI) was created by

    Intel for USB 1.0 (full and low speeds).

    Far from being "universal", it is actually proprietary and is

    incompatible with OHCI. Intel and VIA controllers generally

    use UHCI, while other vendors use OHCI.

    http://en.wikipedia.org/wiki/Universal_Serial_Bushttp://en.wikipedia.org/wiki/Proprietary_hardwarehttp://en.wikipedia.org/wiki/Proprietary_hardwarehttp://en.wikipedia.org/wiki/Universal_Serial_Bus
  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    43/44

    Host Controller for USB

    Enhanced Host Controller Interface (EHCI) is a high-speed controllerstandard that is publicly specified. The USB-IF insisted on this forUSB 2.0 instead of having a different standard for PCI-based USBinterfaces, which would have increased complexity and thereforecosts. Intel hosted the EHCI conformance testing, which helped toprevent divergence from the standard.

    EHCI only provides high-speed USB functions. It relies on a"companion controller", either OHCI or UHCI, to handle full- andlow-speed devices. Motherboards and PCI Cards that provide high-speed ports thus have two controllers, one handling high-speeddevices and the other handling low- and full-speed devices.

    It is not uncommon to find UHCI, OHCI and EHCI all co-existing in a

    standard PC, with a UHCI driver providing low- and full-speedfunctions on the (Intel chipset) motherboard, an OHCI driverproviding low- and full-speed functions for the USB ports on an add-in (NEC chipset) PCI expansion card, and an EHCI driver providinghigh-speed functions for the USB ports on that expansion card.

    http://en.wikipedia.org/wiki/USB-IFhttp://en.wikipedia.org/wiki/USB-IFhttp://en.wikipedia.org/wiki/USB-IFhttp://en.wikipedia.org/wiki/Costhttp://en.wikipedia.org/wiki/Conformance_testinghttp://en.wikipedia.org/wiki/Costhttp://en.wikipedia.org/wiki/Conformance_testinghttp://en.wikipedia.org/wiki/Conformance_testinghttp://en.wikipedia.org/wiki/Costhttp://en.wikipedia.org/wiki/USB-IFhttp://en.wikipedia.org/wiki/USB-IFhttp://en.wikipedia.org/wiki/USB-IF
  • 7/30/2019 EC303 - CHAPTER 6 Buses Interfacing

    44/44

    Host Controller for USB

    eXtensible Host Controller Interface (xHCI) is the newest host

    controller standard that improves speed, power efficiency and

    virtualization over its predecessors The goal was also to define

    a USB host controller to replace UHCI/OHCI/EHCI. It supports

    all USB device speeds (USB 3.0 SuperSpeed, USB 2.0 Low-,Full-, and High-speed, USB 1.1 Low- and Full-speed).