ArticleslgStudy

computer science

IEEE 1284

IEEE 1284 is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand IEEE 1284 rather than just read about it. In short: IEEE 1284, also known as the Centronics port, is a standard that defines bi-directional parallel communications between computers and other devices, with a theoretical maximum throughput of 4 MB/s. It was originally developed in the 1970s by Centronics for use with dot matrix printers before being formally standardized by the IEEE in March 1994.

IEEE 1284 — main illustration
IEEE 1284 — illustration

Key takeaways

  • IEEE 1284 belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect IEEE 1284 to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of IEEE 1284 from memory before moving on to harder problems.

Reference excerpt

IEEE 1284, also known as the Centronics port, is a standard that defines bi-directional parallel communications between computers and other devices, with a theoretical maximum throughput of 4 MB/s. It was originally developed in the 1970s by Centronics for use with dot matrix printers before being formally standardized by the IEEE in March 1994. The standard defines five operating modes Compatibility Mode, Nibble Mode, Byte Mode, Enhanced Parallel Port (EPP), and Extended Capability Port (ECP) and three connector types. It supports a variety of peripheral devices including printers, scanners, tape drives, and hard disks. Since its release, the parallel interface has been largely displaced by local area network interfaces and USB 2.0.

History

In the 1970s, Centronics developed a parallel connector for their dot matrix printers that soon became a de facto standard. The original port design was send-only, allowing 8 bits of data to be sent from the host computer to the printer at a time. Separate pins in the port allow status information to be sent back to the computer. This was a serious limitation as printers became "smarter" and a richer set of status codes were desired. This led to an early expansion of the system introduced by HP, the "Bitronics" implementation released in 1992. This used the status pins of the original port to form a 4-bit parallel port for sending arbitrary data back to the host. A further modification, "Bi-Directional", used the status pins to indicate the direction of data flow on the 8-bit main data bus; by indicating there was data to send to the host on one of the pins, all eight data pins became available for use. This proved adaptable, and led to the "Enhanced Parallel Port" standard, which worked like Bi-Directional mode but greatly increased the signalling speeds to 2 MB/s, and later the "Extended Capability Port" version increased this to 2.5 MB/s. In 1991 the Network Printing Alliance was formed to develop a new standard. In March 1994, the IEEE 1284 specification was released. 1284 included all of these modes, and allowed operation in any of them. The parallel interface has since been mostly displaced by local area network interfaces and USB 2.0.

Characteristics

The IEEE 1284 standard allows for faster throughput and bidirectional data flow with a theoretical maximum throughput of 4 MB/s; actual throughput is around 2 MB/s depending on hardware. For printers, this allows for faster printing and back-channel status and management. Since the new standard allowed the peripheral to send large amounts of data back to the host, devices that had previously used SCSI interfaces could be produced at a much lower cost. This included scanners, tape drives, hard disks, computer networks connected directly via parallel interface, network adapters and other devices. This removed the need for a separate SCSI card, as the built-in parallel interface could be used instead.

Modes IEEE 1284 can operate in five modes:

Compatibility Mode, also known as Centronics standard or Standard Parallel Port (SPP), is a uni-directional implementation with only a few differences from the original Centronics design. This mode is almost exclusively used for printers. The only signals that the printer can send back to the host are some fixed-meaning status lines that signal common error conditions, such as the printer running out of paper. Nibble Mode is an interface that allows the device to transmit data four bits (a nibble) at a time, (re)using four of the status lines of Compatibility Mode for data. This is the Bi-tronics mode introduced by HP and is generally used for enhanced printer status. Although never officially supported with these, Nibble Mode works with most of the pre-IEEE-1284 Centronics interfaces as well. Byte Mode, also known as "Bi-Directional" (although all modes except Compatibility Mode are in fact bi-directional), is a half-duplex mode that allows the device to transmit eight bits at a time using the same data lines that are used for the other direction. This mode is supported on a minority of pre-IEEE-1284 interfaces as well, such as those built into the IBM PS/2 computers; because of this, it is sometimes unofficially called the PS/2 mode. Enhanced Parallel Port (EPP) is a half-duplex bi-directional interface designed to allow devices like printers, scanners, or storage devices to transmit large amounts of data while quickly being able to switch channel direction. EPP can provide up to 2 MB/s bandwidth, approximately 15 times the speed achieved with normal parallel-port communication with far less CPU overhead. Extended Capability Port (ECP) is a half-duplex bi-directional interface similar to EPP, except that x86 PC implementations traditionally use ISA-style direct memory access (usually ISA DMA on channel 3) to provide even faster data transfer than EPP by having the ISA-style DMA hardware and the parallel port interface hardware handle the work of transferring the data instead of letting the CPU do this work. Many devices that interface using this mode support RLE compression. ECP can provide up to 2.5 MB/s of bandwidth, which is the natural limit of 8-bit ISA DMA. An ECP interface on a PC can improve transfers to pre-IEEE-1284 printers as well by reducing the CPU load during the transfer; however, the transfer in that case is unidirectional. Most recent computers that include a parallel port can operate the port in ECP or EPP mode, or both simultaneously. IEEE-1284 requires that bi-directional device communication is always initiated in Nibble Mode. If the host receives no reply in this mode, it will assume that the device is a legacy printer, and enter Compatibility Mode. Otherwise, the best mode that is supported on both sides of the connection is negotiated between the host and client devices by exchanging standardized Nibble Mode messages.

Connectors and cables

An IEEE-compliant cable must meet several standards of wiring and quality. Three types of connectors are defined:

Type A: DB-25 25 pin, for the host connection. Type B: Centronics (officially called "Micro Ribbon") 36-pin, for the printer or device connection. Type C: Mini-Centronics (MDR36 or HPCN36) 36-pin, a half-pitch, smaller alternative for the device connection that has not proven popular. There are two kinds of IEEE 1284 cables:

… excerpt ends here. Continue reading the full article.

Illustrations

IEEE 1284: An IEEE 1284 36-pin male micro ribbon printer cable connection. The computer side of this cable normally uses a DB-25 male connector.
An IEEE 1284 36-pin male micro ribbon printer cable connection. The computer side of this cable normally uses a DB-25 male connector.
IEEE 1284: An IEEE 1284 36-pin female on a circuit board
An IEEE 1284 36-pin female on a circuit board
IEEE 1284: An IEEE 1284 compliant printer cable. Connectors are DB-25 for the computer and a 36-pin Centronics for the printer.
An IEEE 1284 compliant printer cable. Connectors are DB-25 for the computer and a 36-pin Centronics for the printer.
IEEE 1284: Mini-Centronics 36-pin male connector (top) with Micro ribbon 36-pin male Centronics connector (bottom)
Mini-Centronics 36-pin male connector (top) with Micro ribbon 36-pin male Centronics connector (bottom)
IEEE 1284: Mini-Centronics 36-pin male connector (right) with Micro ribbon 36-pin male Centronics connector (left).
Mini-Centronics 36-pin male connector (right) with Micro ribbon 36-pin male Centronics connector (left).

Worked examples

Example 1 — a first encounter with IEEE 1284

Start with the simplest possible case. Write down what IEEE 1284 claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to IEEE 1284 before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about IEEE 1284 ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of IEEE 1284

In research
IEEE 1284 appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses IEEE 1284 in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
IEEE 1284 is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer buses, IEEE standards, Legacy hardware, so understanding it makes those chapters shorter.
In everyday life
Look for IEEE 1284 outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study IEEE 1284 in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what IEEE 1284 means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain IEEE 1284 out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is IEEE 1284 in simple terms?

IEEE 1284, also known as the Centronics port, is a standard that defines bi-directional parallel communications between computers and other devices, with a theoretical maximum throughput of 4 MB/s. It was originally developed in the 1970s by Centronics for use with dot matrix printers before being…

Why does IEEE 1284 matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study IEEE 1284?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on IEEE 1284.

Tags

  • Computer buses
  • IEEE standards
  • Legacy hardware

Keep exploring