PC Hardware in a Nutshell, 2nd Edition Free Open Book

PC Hardware in a Nutshell, 2nd Edition

Team LiB   Previous Section   Next Section

23.2 Parallel Port Types

Parallel port hardware may be of five types, described below in the order of their appearance in PCs. A computer may contain any of these port types, and may include ports of more than one type. Earlier ports are limited in functionality and performance. Later ports provide increased functionality and performance, and may often be configured to emulate earlier port types when necessary to support older peripherals.

Unidirectional 4-bit parallel ports

The unidirectional 4-bit parallel port, also called a standard parallel port (SPP), is based on the defacto Centronics standard, and was the type of parallel port supplied with the original IBM PC and its clones. These ports are misnamed, as they are not unidirectional and are not limited to 4-bit transfers. An SPP does 8-bit output and can accept 4-bit (nibble) input.

In theory, these ports are limited to using a two-meter (about six-foot) cable, but this distance can be extended to three to five meters (10 to 16 feet) by using a high-grade parallel cable. Unidirectional 4-bit parallel ports are commonly found in older desktop and laptop systems, and are still supplied on some low-end I/O cards. These ports provide native throughput of 40 to 60 KB/s, although certain design tricks can push this to the 150 KB/s range.

Bidirectional 8-bit parallel ports

When IBM introduced the PS/2 line in 1987, all but the two lowest-cost models (the Models 25 and 30) included a bidirectional 8-bit parallel port. Initially, these were non-DMA ports, called Type 1 ports by IBM. The parallel ports included with later PS/2 systems could also be configured as Type 3 ports, which use DMA. These ports support both 8-bit input and output, and provide about 75 KB/s to 300 KB/s throughput, depending on characteristics of the port itself, how it is configured, the speed of the external device, and the quality of the port driver.

Recent notebook and desktop systems often provide a bidirectional 8-bit mode for their parallel ports, as do some add-on port cards. Bidirectional 8-bit parallel ports provide better throughput than do 4-bit ports for connecting external devices like tape drives and parallel port network adapters, if the device can take advantage of the 8-bit functionality. Note that some vendors also call 4-bit ports "bidirectional," so the terminology used to describe the port does not guarantee its level of functionality.

Enhanced parallel ports (EPP)

The throughput limitations of even the Type 3 bidirectional 8-bit parallel ports soon became obvious as page printer technology improved. Manufacturers of scanners, storage devices, and other external peripherals were also starting to use the parallel port as an inexpensive alternative to expensive SCSI or proprietary interfaces. A superior parallel port technology was clearly needed. Xircom, Intel, and Zenith Data Systems got together and came up with the enhanced parallel port, or EPP.

EPP offered performance and other advantages while maintaining backward SPP compatibility, so it quickly came into widespread use. There soon coalesced an informal confederation of manufacturers whose purpose was to promote and enhance the EPP standard. This group ultimately solidified as the EPP Committee, and successfully lobbied the IEEE 1284 committee to include EPP as an advanced mode in the IEEE 1284 specification described later in this section.

EPP supports 8-bit bidirectional communications at ISA bus speeds, providing throughput similar to that of 8-bit ISA bus cards. EPP provides theoretical maximum throughput of about 2 MB/s, and typical real-world throughput of more than 1 MB/s. Many 386 and 486 systems and most reasonably recent I/O expansion cards include EPP-capable parallel ports.

Extended capabilities ports (ECP)

EPP was a reasonably satisfactory solution and was first to market, but Microsoft and Hewlett-Packard had been working on their own improved parallel port technology, which they named the extended capabilities port, or ECP. Like EPP, ECP supports 8-bit bidirectional communications at ISA bus speeds. Unlike EPP, ECP uses DMA, provides a FIFO buffer of at least 16 bytes, and includes hardware data compression. These features allow ECP to provide better throughput than EPP—theoretically more than 2 MB/s, but typically about 2 MB/s actual. Some 486 systems, most Pentium and higher systems, and recent I/O expansion cards include ECP-capable parallel ports.

IEEE 1284 parallel ports

The increasing diversity of parallel port hardware and the resulting potential for incompatibilities made it desirable to develop an umbrella standard that would combine and codify these earlier adhoc standards into a single formal standard. The resulting document, 1284-1994 IEEE Standard Signaling Method for a Bidirectional Parallel Peripheral Interface for Personal Computers, does so by defining five parallel transmission modes. IEEE 1284-compliant parallel port hardware, available on recent computers, motherboards, and expansion cards, can use one or more of the following modes to emulate earlier parallel port hardware, thereby ensuring both compatibility and optimum performance with almost any parallel peripheral.

Compatibility Mode

Compatibility Mode, also called Centronics Mode or Standard Mode, is a forward unidirectional mode that corresponds to the original SPP definition, and is included in the IEEE 1284 definition for backward compatibility with the installed base of SPP-only peripherals. Transferring a byte in Compatibility Mode requires four I/O instructions and additional overhead instructions, which limits throughput to about 150 KB/s. Pure IEEE 1284 Compatibility Mode is seldom seen in practice. Compatibility Mode as implemented by most integrated 1284-compliant controllers includes a FIFO buffer, which is used in conjunction with the Compatibility Mode protocol. This hybrid mode, which is not a part of the official IEEE 1284 standard, may be called Buffered Mode, Fast Centronics Mode, FIFO Mode, or Parallel Port FIFO Mode. It improves Compatibility Mode throughput to 500 KB/s or more by substituting hardware strobing for the software strobing used in true IEEE 1294 Compatibility Mode. The elimination of software handshaking nearly eliminates latency, and can increase throughput to 500 KB/s or more.

Nibble Mode

Nibble Mode is the slower of the two reverse channel modes defined by IEEE 1284. Nibble Mode may be combined with Compatibility Mode or a proprietary forward channel mode to yield full bidirectional capability. The advantage to Nibble Mode is that it can be used with any parallel cable and any parallel port hardware, including the original unidirectional 4-bit ports. The disadvantage to Nibble Mode is that it is the slowest way to send data from a peripheral to the PC. Like Compatibility Mode, Nibble Mode data transfer is managed by a software driver, which restricts throughput to about 50 KB/s. For printers, which use the reverse channel to transfer only small amounts of status information, this is not a significant limitation. For parallel interface disk and tape drives, network adapters, and similar devices that need full bidirectional bandwidth, Nibble Mode reverse channel throughput is wholly inadequate and should be used only as a last resort.

Byte Mode

Byte Mode is the faster of the two reverse channel modes defined by IEEE 1284. Byte Mode corresponds to the reverse channel mode of the 8-bit bidirectional parallel interface originally supplied with IBM PS/2 computers. In contrast to Nibble Mode, which transfers four bits at a time and requires two data transfer cycles to transfer one byte, Byte Mode transfers a full byte in one data cycle, using the eight data lines to do so. Byte Mode reverse channel throughput is comparable to forward channel throughput in unbuffered Compatibility Mode—about 150 KB/s. Using Compatibility Mode and Byte Mode together provides a half-duplex bidirectional connection that is comparable to the original IBM PS/2 bidirectional parallel interface.

EPP Mode

EPP Mode corresponds to the adhoc Xircom/Intel/ZDS EPP definition. Intel first implemented EPP on the 82360 I/O chip that was part of the 386SL chipset. This pre-1284 EPP implementation is called EPP 1.7. The IEEE 1284-1994 EPP Mode definition formalizes EPP 1.7, but with some minor changes in signal definitions. As a result, not all EPP peripherals work reliably with all EPP ports. Any 1284-compliant EPP peripheral may be used with either an EPP 1.7 port or a 1284-compliant EPP port. An EPP 1.7 peripheral may be used with an EPP 1.7 port, but may or may not function properly with a 1284-compliant EPP port. EPP Mode can achieve data throughput comparable to an ISA bus card—on the close order of 0.5 to 2.0 MB/s.

ECP Mode

ECP Mode corresponds to the adhoc Microsoft/HP ECP specification.

The original IEEE-1994 standard is supplemented by IEEE P1284.3, Standard for Interface and Protocol Extensions to IEEE 1284-1994 Compliant Peripherals and Host Adapters. For our purposes, the only notable new feature of IEEE P1284.3 is that it defines additional protocols that allow daisy-chaining parallel-connected devices. Windows versions prior to Windows 2000 do not support IEEE P1284.3 functions. Windows 2000/XP has partial IEEE P1284.3 support, including the ability to select and operate more than one IEEE 1284.3 daisy-chain device and an end-of-chain device, and basic support for the Datalink Layer. Windows 2000/XP does not support IEEE 1284.3 multiplexors or interrupts for IEEE 1284.3 daisy-chain devices.

    Team LiB   Previous Section   Next Section


         Main Menu
    PC Hardware in a Nutshell, 2nd Edition
    Table of Contents
    Copyright
    Dedication
    Foreword
    Preface
    Chapter 1. Fundamentals
    Chapter 2. Working on PCs
    Chapter 3. Motherboards
    Chapter 4. Processors
    Chapter 5. Memory
    Chapter 6. Floppy Disk Drives
    Chapter 7. High-Capacity Floppy Disk Drives
    Chapter 8. Removable Hard Disk Drives
    Chapter 9. Tape Drives
    Chapter 10. CD-ROM Drives
    Chapter 11. CD-R and CD-RW Drives
    Chapter 12. DVD Drives
    Chapter 13. Hard Disk Interfaces
    Chapter 14. Hard Disk Drives
    Chapter 15. Video Adapters
    Chapter 16. Displays
    Chapter 17. Sound Adapters
    Chapter 18. Speakers and Headphones
    Chapter 19. Keyboards
    Chapter 20. Mice and Trackballs
    Chapter 21. Game Controllers
    Chapter 22. Serial Communications
    Chapter 23. Parallel Communications
    Section 23.1. Mapping Parallel Ports to LPTs
    Section 23.2. Parallel Port Types
    Section 23.3. Configuring Parallel Port Hardware
    Section 23.4. Parallel Connectors and Cables
    Section 23.5. Our Picks
    Chapter 24. USB Communications
    Chapter 25. Cases
    Chapter 26. Power Supplies
    Chapter 27. Backup Power Supplies
    Chapter 28. Building a PC
    Colophon
    Index


    More Books
    PHP Hacks
    Processing Xml With Java - A Guide To Sax, Dom, Jdom, Jaxp, And Trax
    The Koran (Holy Qur'an)
    Macromedia Flash 8 Bible
    Search Engine Optimization for Dummies
    YouTube Traffic
    PHP 5 for Dummies
    Harry Potter and The Chamber of Secrets
    Harry Potter and the Sorcerer's Stone
    The Pilgrim's Progress
    Wireless Hacks
    Flash Hacks. 100 Industrial-Strength Tips & Tools
    PayPal Hacks. 100 Industrial-Strength Tips and Tools
    Amazon Hacks
    Pdf Hacks
    The Da Vinci Code
    Google Hacks
    The Holy Bible
    Windows XP For Dummies
    Harry Potter and the Half-Blood Prince
    Seo Book
    Upgrading and Repairing Networks
    Macromedia Dreamweaver 8 UNLEASHED
    Windows XP Annoyances
    Windows XP Hacks
    Microsoft Windows XP Power Toolkit
    Teach Yourself MS Office In 24Hours
    iPod & iTunes Missing Manual
    PC Hacks 100 Industrial-Strength Tips and Tools
    PC Overclocking, Optimization, and Tuning - 2th Edition
    PC Hardware In A Nutshell 3rd Edition
    PC Hardware in a Nutshell, 2nd Edition
    Upgrading and Repairing PCs
    Google for Dummies
    MySQL Cookbook
    Teach Yourself Macromedia Flash 8 In 24 Hours
    PHP CookBook
    Sams Teach Yourself JavaScript in 24 Hours
    PHP5 Manual
    Free Games Paper Airplanes
    500 Juegos Gratis 500 Giochi Gratis 500 Jeux Gratuits 500 Jogos Gratis 500 Kostenlose Spiele