ec303 - chapter 6 buses interfacing
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).