Enhanced Industry Standard Architecture

written by: Matthew Duncan; article published: year 2010, month 06;

In: Root » Computers and technology » Memory Processor Motherboards and buses

  Share  
|
  PL  |  NL  |  FR  |  ES  |  PT  |  IT  |  DE  |  DK  |  NO  |  SE  |  FI  |  GR  |  JP  |  CN  |  KR  |  RU  |  AE


Because most of the PC industry viewed IBM's licensing and marketing of Micro Channel as essentially absurd, a rival naturally arose, Extended Industry Standard Architecture. The EISA committee that crafted the standard was both motivated and constrained by conflicting design goals. They strove to create a 32-bit expansion standard for PCs that incorporated as many of the innovations of Micro Channel as possible without infringing on IBM's intellectual property rights in Micro Channel's technologies (so no licensing fees would be due). While pushing up performance, they wanted to maintain backward compatibility with the huge installed base of ISA expansion boards.

By necessity, these lofty goals were amended. The touted backward compatibility was incomplete: ISA boards work in EISA but not vice versa, and adding an ISA board to an EISA system disables part of the EISA system's capabilities (for example, the capability to share an interrupt). Moreover, EISA was unable to escape the need to license technology from IBM. After all, IBM owns basic patents on technologies required to build any PC no matter whether Micro Channel ideas are included.

Despite the diminished expectations, however, the resulting EISA specification has become the basis of many high performance computers. It works effectively. Although it, like Micro Channel, has failed to be a major force in the PC mainstream, the reasons relate to applications and cost rather than technical capability (again, like Micro Channel). Although EISA shows some promise for the next generation of PCs, it will likely be eclipsed by newer designs like PCI.

Physical Characteristics. At the heart of the EISA specification was its highly promoted backward compatibility with ISA. Under EISA, all existing PC expansion boards are plug-compatible (at least to some extent) with newer, high performance EISA computers, although the opposite is not true and some exceptions do exist. To achieve this required some big compromises-for example, retaining the 8 MHz bus speed limit. In addition, it demanded an entirely new kind of connector and unprecedented cooperation in a competitive industry.

The physical specifications between the old and new standards are remarkably similar. EISA expansion boards are the same size and shape as AT boards, with the standard setting the maximum (at 13.4 inches long and 4.5 inches high, from the top of the board to its bottom edge), with smaller boards such as so-called short cards, still accepted. But EISA makes some specific changes aimed at ensuring future products are even more inter-compatible than PC boards are today.

A seemingly minor change holds the potential for making a big difference. All measurements for EISA boards are specified from a common origin-that is, you measure all dimensions from a common starting point. For EISA, that point is the center of the expansion connector rather than an edge of the card. As a result, tolerances are smallest and the fit of boards is best where it counts most, at the expansion connector. EISA boards should fit better than their predecessors.

Another EISA change may have greater implications for existing PC expansion boards. While EISA accepts all physical configurations of current expansion boards, it prohibits from future products the addition of skirts-except for a mini-skirt located between the expansion connector and card-retaining bracket.

The centerpiece of the EISA specification is its expansion connector, the design of which ensures backward compatibility with PC-bus cards while allowing full 32-bit expandability of EISA peripherals. It adds 90 new connections (55 new signals) without increasing the size of the connector itself and accepts both EISA and classic-bus boards indiscriminately.

The clever, two-tier design of the connector actually represents a revision on the original EISA concept. The EISA connector originally announced in 1988 relied on what was in effect two parallel connectors-one that provided the compatible link-up with existing expansion boards and a second connector, offset from the expansion board, for 32-bit data transfers and addressing. The parallel-connector design was criticized for various deficiencies including its need for inordinately high insertion force (the effort required to plug a board into a slot). Such effort was believed to be required to squeeze a board into this connector that it nearly precluded the use of cost-saving automatic insertion machinery in the building of new computers.

Because the new EISA connector is physically the same size as a traditional expansion connector, it requires about the same insertion force-35 pounds-versus the 100-plus estimated for the proposed parallel connector. It should cause no problems for automatic insertion machinery.

The new connector achieves its combination of compatibility and full 32-bit expandability by branching out vertically instead of horizontally. In the new EISA connector, the contacts for enhanced functions are built into a second, lower level. Existing PC expansion boards can be inserted only about halfway into EISA slots to engage only the PC bus contacts. Five keys-plastic stops molded into the EISA connector-prevent older boards from going farther in. EISA boards have cut-outs that fit into the keys and allow the boards to be fully inserted into the connector. This keying prevents old-bus cards from shorting out the EISA connections, which holds the potential of damaging the EISA computer. When the card is fully inserted, both the upper and lower sets of contacts engage pads on the EISA board.

Because of its need for this deeper insertion, the edge connector on an EISA board is consequently a bit longer (about 0.2 inch) than that of a classic bus board.

Nothing stops EISA boards from fitting into ordinary 16-bit AT expansion slots, however. In fact, because of the odd arrangement of contacts on EISA boards, inadvertently inserting an EISA board into a old AT connector can potentially send signals into the wrong circuits-not enough fireworks to give Mr. Scott apoplexy, but sufficient to render the host system dysfunctional. Consequently, EISA boards should never be inserted into non-EISA computers even though they physically can fit the slots.

EISA also strives to maintain compatibility with the power demands of old-bus expansion boards. Under the EISA specification, a generous availability of power is assumed for each expansion slot, freeing peripheral designers from the need to use special low power components. Over 45 watts at four different voltages are available to each EISA expansion slot.

Of course, such availability takes an optimistic view of the total reserves of the system power supply. Filling the eight slots envisioned in a complete EISA system with hungry expansion boards would require over 325 watts. Even without considering the needs of mass storage devices and the system board itself, a fully-expanded EISA computer would require a huge power supply. Then again, nothing about the EISA design implies expansion boards require any more power than old-bus cards, so traditional power levels likely are adequate.

Enhanced Industry Standard Architecture Bus Pinout

Pin Function Pin Function Pin Function Pin Function
A1 Input/Output Channel Check E1 CMD F1 Ground B1 Ground
A2 Data 7 E2 Start F2 + 5VDC B2 Reset Driver
A3 Data 6 E3 EXRDY F3 + 5VDC B3 +5 VDC
A4 Data 5 E4 EX32 F4 Reserved B4 Interrupt Request 9
A5 Data 4 E5 Ground F5 Reserved B5 -5 VDC
A6 Data 3 E6 Access Key F6 Access Key B6 DMA Request 2
A7 Data 2 E7 EX16 F7 Reserved B7 -12 VDC
A8 Data 1 E8 SLBURST F8 Reserved B8 Zero Wait State
A9 Data 0 E9 MSBURST F9 + 12VDC B9 +12 VDC
A10 Channel Ready E10 W-R F10 M-IO B10 Ground
A11 Address Enable x E11 Ground F11 Lock B11 Real Memory Write
A12 Address 19 E12 Reserved F12 Reserved B12 Real Memory Read
A13 Address 18 E13 Reserved F13 Ground B13 Input/Output Write
A14 Address 17 E14 Reserved F14 Reserved B14 Input/Output Read
A15 Address 16 E15 Ground F15 Bus Enable 3 B15 DMA Acknowledge 3
A16 Address 15 E16 Access Key F16 Access Key B16 DMA Reqeust 3
A17 Address 14 E17 Bus Enable 1 F17 Bus Enable 2 B17 DMA Acknowledge 1
A18 Address 13 E18 Latching Address 31 F18 Bus Enable 0 B18 DMA Request 1
A19 Address 12 E19 Ground F19 Ground B19 Refresh
A20 Address 11 E20 Latching Address 30 F20 + 5VDC B20 Bus Clock
A21 Address 10 E21 Latching Address 28 F21 Latching Address 29 B21 Interrupt Request 7
A22 Address 9 E22 Latching Address 27 F22 Ground B22 Interrupt Request 6
A23 Address 8 E23 Latching Address 25 F23 Latching Address 26 B23 Interrupt Request 5
A24 Address 7 E24 Ground F24 Latching Address 24 B24 Interrupt Request 4
A25 Address 6 E25 Access Key F25 Access Key B25 Interrupt Request 3
A26 Address 5 E26 Latching Address 15 F26 Latching Address 16 B26 DMA Acknowledge 2
A27 Address 4 E27 Latching Address 13 F27 Latching Address 14 B27 Terminal Count
A28 Address 3 E28 Latching Address 12 F28 + 5VDC B28 Bus Address Latch Enable
A29 Address 2 E29 Latching Address 11 F29 + 5VDC B29 +5 VDC
A30 Address 1 E30 Ground F30 Ground B30 Oscillator
A31 Address 0 E31 Latching Address 9 F31 Latching Address 10 B31 Ground
C1 System Bus High Enable G1 Latching Address 7 H1 Latching Address 8 D1 Memory 16-bit Chip Select
C2 Latching Address 23 G2 Ground H2 Latching Address 6 D2 I/O 16-bit Chip Select
C3 Latching Address 22 G3 Latching Address 4 H3 Latching Address 5 D3 Interrupt Request 10
C4 Latching Address 21 G4 Latching Address 3 H4 + 5VDC D4 Interrupt Request 11
C5 Latching Address 20 G5 Ground H5 Latching Address 2 D5 Interrupt Request 12
C6 Latching Address 19 G6 Access Key H6 Access Key D6 Interrupt Request 15
C7 Latching Address 18 G7 Data 17 H7 Data 16 D7 Interrupt Request 14
C8 Latching Address 17 G8 Data 19 H8 Data 18 D8 DMA Acknowledge 0
C9 Memory Read G9 Data 20 H9 Ground D9 DMA Request 0
C10 Memory Write G10 Data 22 H10 Data 21 D10 DMA Acknowledge 5
C11 Data 8 G11 Ground H11 Data 23 D11 DMA Request 5
C12 Data 9 G12 Data 25 H12 Dat 24 D12 DMA Acknowledge 6
C13 Data 10 G13 Data 26 H13 Ground D13 DMA Request 6
C14 Data 11 G14 Data 28 H14 Data 27 D14 DMA Acknowledge 7
C15 Data 12 G15 Access Key H15 Access Key D15 DMA Request 7
C16 Data 13 G16 Ground H16 Data 29 D16 +5 VDC
C17 Data 14 G17 Data 30 H17 + 5VDC D17 Master 16
C18 Data 15 G18 Data 31 H18 + 5VDC D18 Ground
C19 No Contact G19 MREQx H19 MAKx D19 No Contact

The original impetus behind the search for a new bus standard was the 16-bit classic AT bus' incapability to deal with the 32-bit needs of the newer Intel microprocessors (specifically, the 386DX and 486). The first step in wringing full performance from these chips is to move data around in the largest blocks they can manipulate in a single operation, specifically 32-bit double-words. Widening the data path to 32-bits in itself can double the speed of data transfers in an AT-style computer, all else being equal (which it definitely is not in the case of EISA). To gain this instant advantage over the classic bus, EISA adds 16 new data lines to the pinout of the EISA connector.

The classic AT bus imposes another limit on higher powered microprocessors. Its 24 address lines enforce a maximum size of 16 megabytes on directly-addressable memory (as opposed to bank-switched memory, like that available under the EMS standard). To accommodate the complete addressing capabilities of the 32-bit Intel microprocessors-four gigabytes-EISA also broadens the address bus to a full 32-bits. The new address lines are labeled with the prefix LA in the pinout.

Note that EISA's endowment is more generous than a mere eight additional address lines. The standard also adds new lines for indicating some of the lower-order address bits, to some extent duplicating the function of the classic bus but with an important change. The EISA lower-order address lines (LA2 through LA16) are latching; that is, they provide stable signals through the address cycle instead of just at its beginning. Note that the EISA address extensions (the upper eight bits) to the classic bus also latch. Unlike Micro Channel, EISA permitted full DMA reach to all four gigabytes of memory addresses from its inception.

Sometimes all 32-bits of the data bus are not needed in a data transfer. For example, a program may need only to move a byte from one memory location to another. EISA provides four new signals to indicate which bytes of the double-word of data on the bus are significant-the Byte Enable signals BE0 through BE4.

To maintain compatibility with as many classic bus expansion boards as possible, EISA is designed to accommodate devices that have either 8-, 16-, or 32-bit interfaces. This diversity requires some method of preventing a device from trying to dump 32 bits of data to another that has only a 16-bit interface (in which case half the data would be lost).

EISA provides two signals to indicate what size data transfers a device can handle. To indicate that it has access to the full 32-bits of the EISA bus, a device sends the EX32 signal. Similarly, the EX16 signal indicates that a device only supports 16-bit transfers. If neither signal is present, the system must assume that the particular device can handle only eight-bits of data at a time. (These signals supplement those on the classic bus that indicate 8- or 16-bit transfer width.)

EISA doesn't stop with bus-width signaling. The standard also provides for the automatic translation of the width of bus signals, for instance breaking down the 32-bit signal of an EISA card into four sequential eight-bit signals that can be digested by old classic bus expansion boards. A special integrated circuit, the EISA Bus Controller, moves data into the appropriate byte lanes and translates the control signals on the bus accordingly.

Advanced Transfer Modes. EISA goes well beyond simply providing extra signals to add new data and addressing capacity to the classic bus. Other EISA enhancements also require new signals to be assigned to bus connections. These signals include support for burst-mode data transfers (MBURST and SLBURTS), new timing signals to help manage fast data transfers (START and CMD), even a signal to slow down the bus with wait states (EXRDY).

Under EISA, all the other signals on the classic bus retain their former definitions and functions to maintain backward compatibility with older expansion boards. The big challenge faced by the EISA engineers was to fit all these signals on a connector that would still allow the use of old expansion boards.

Compatibility is also among the most formidable problems in squeezing more raw speed-more megahertz-from the AT bus. Simply upping the clock speed that synchronizes data transfers across the bus is out of the question because any speed increase can cause conniptions for existing expansion boards. Many classic bus boards cannot operate at bus speeds much higher than the eight megahertz used in the AT or ten megahertz used by some compatibles.

To help ensure compatibility, EISA does not increase the raw speed of the clock driving the expansion bus. The specification calls for a bus clock (BCLK) oscillating at a fixed rate between 6 and 8.33 megahertz, the latter figure being one-quarter the 33 MHz clock speed of today's fastest microprocessors.

The bus speed is a submultiple of the system clock frequency because the EISA is nominally a synchronous bus-it operates in lock-step with the host microprocessor-but not necessarily. Bus masters can take over control and alter some aspects of system timing to achieve higher data throughputs.

Such altered timings are necessary because the bus speed limit is more severe than the megahertz would imply. The actual data transfer rate of ISA is limited by its two-cycle per transfer limitation with the bus going through an elaborate hierarchy of commands for every byte that's transferred. Although EISA allows this data transfer method, it also adds two faster schemes of its own: compressed transfers and burst mode. Compressed transfers are 50 percent faster in that data can be moved every one and a half bus cycles. Burst mode moves data every cycle, resulting in an effective transfer rate of 33 megabytes per second (8.33 MHz bus speed and 32-bit data path).

The key to EISA's compressed cycle operation is a special timing signal (CMD), which serves as a supplement to the bus clock. During compressed transfers, the CMD signal operates at twice the speed of the bus clock, and the data transfer is required to take place during its duration.

In burst mode, the addresses for data transfer are asserted at the beginning (for writing data) or the end (for reading data) of every clock cycle. The data is actually put on the bus one-half or one and a half cycles later, locked to CMD.

The EISA burst data mode has advantages as well as limitations. EISA burst mode can move noncontiguous data because an address is given with each transfer. However, EISA allows only the least significant ten address bits to change during a burst cycle, effectively limiting a burst data to addresses within a block of 1,024 double-words in memory. In addition, EISA does not permit reads and writes to be mixed in a single burst because of the differences in the timing of these signals.

Don't confuse the fast 33 megabyte per second maximum data transfer rate with the even faster 33 megahertz operation of some once-regarded-as-fast PCs. While both the EISA bus and the system memory of these computers is 32 bits wide, the maximum EISA bus clock speed remains 8.33 MHz, effectively one-quarter the speed of system board memory. In other words, in EISA computers slotted memory is still slower than system board memory, just as it is in classic bus machines. High performance (which, for practical purposes, means all) EISA computers still are built with proprietary memory expansion slots that operate at the full speed of the system (not the bus) clock.

DMA Modes. If any one part of the old AT needed improvement, it was its Direct Memory Access system. While DMA controllers have the potential for speeding system operation, PCs and ATs failed to deliver on that promise. DMA transfers on these systems can be painfully slow-so slow that DMA was abandoned for hard disk transfers in the AT.

On an AT, for example, DMA transfers ordinarily take place at the agonizing rate of one megabyte per second. Although a speed of two megabytes per second is theoretically possible using the three 16-bit DMA channels in the AT, DOS is limited to eight bit transfers and, thus, the lower rate.

New DMA timings and techniques show some of the most creative aspects of the EISA design. Besides AT-compatible DMA transfers, EISA adds three new types-Types A, B, and C (the last also known as Burst DMA)-all three of which can make 8-, 16-, or 32-bit transfers. In addition, multiple transfers also can be chained to send the same bytes to different locations. Under EISA, a maximum DMA data transfer rate of 33 megabytes per second is available with 32-bit transfers in burst mode.

The default DMA timing is the slowest mode, AT-compatible eight-bit transfers. The EISA specification envisions the other modes being brought to life with software drivers. With the proper drivers, most classic bus expansion board can take advantage of Type A transfers; a few also can take advantage of double-speed Type B transfers. EISA boards are required to use Type C or 32-bit transfers of any type.

Each type of DMA brings an improvement in data transfer rate. For a given width of data path, Type A transfers are about 30 percent faster than AT-style DMA. Type B transfers double the AT speed. Type C transfers are more than four times faster than AT transfers.

For the most part, these speed increases are made simply by specifying different data transfer protocols that involve fewer bus cycles in each DMA move. In the AT environment, each DMA move (8- or 16-bit) requires eight bus cycles, during most of which nothing is really happening. Type A transfers merely trim two of the wasted bus cycles from each DMA move. Type B transfers are more extreme, cutting the number of cycles per DMA move to four. Because newer expansion boards can operate at higher rates, many classic bus expansion cards can operate at these speeds.

Under the EISA specification, Type C DMA transfers compress all the necessary signal manipulations into a single bus cycle, with specific signal transitions occurring at the leading and trailing edges of the bus clock. Only EISA expansion cards are capable of this transfer method, and even they have their limitations. Only the ten lowest-order bits of the address bus are allowed change within the confines of this tight timing, with the result that Burst Mode DMA transfers on EISA are limited to addresses within a single 1,024-byte page.

In addition to creating new, high speed transfer modes, the EISA specification also expands the reach of DMA. Because of addressing limitations, classic bus systems could provide DMA transfers only through the lowest 16 megabytes of memory addresses. EISA allows DMA transfers anywhere within a four gigabyte range of physical memory.

The rate at which data can move during a DMA transfer depends on how many bits are moved at a time. All seven EISA DMA channels support up to 32-bits; the channels differ only in priority. The higher-numbered channels (5, 6, and 7) are serviced more often when an EISA system is heavily loaded.

Bus Mastering. The most significant borrowing that EISA makes from Micro Channel is bus mastering. In EISA systems, both the operation and nomenclature differ from the IBM design-not just for the sake of originality but also because IBM's designs are protected by patents and other intellectual property rights. In an EISA system, the arbitration control element is called the Integrated System Peripheral chip (and, strangely, not the EISA Bus Controller). The ISP acts just like the Micro Channel Central Arbitration Point and determines which system function gets control of the expansion bus.

Every arbitration system has rules. Mom, confronted with caring for a crowd of kids from the neighborhood may, for example, let the kid that screams the loudest go first in line just to get some peace and quiet. EISA has a much more pragmatic, more deterministic set of rules for priority. Control rotates through three classes: memory refreshing, DMA transfers, and a combination of the microprocessor and bus masters. In every control cycle, each element receives control in turn. If, however, several DMA channels request bus control, only one gets it per control cycle. In effect, control is like a menu in an old-fashioned Chinese restaurant-in each arbitration cycle, the system selects one from column A, memory refreshing; one from column B, DMA; and one from column C, the bus masters/microprocessor.

Which of the six EISA DMA channels gets control rotates through the circle of those needing it until DMA channels all are served. Actually, this rotation is a pair of cycles, wheels within wheels. Three high priority DMA channels (corresponding to the 16-bit channels in an AT system but allowed any transfer width under the EISA specification) going through one rotation and three lower priority channels in another rotation. One low priority channel gets control for each complete cycle of three high priority channels.

The microprocessor and bus masters form another wheel-within-wheel arrangement. Each time the microprocessor/bus master column is selected, either the microprocessor or bus master gets control, whichever was not selected on the last cycle. In other words, the microprocessor is served half the time; the bus masters the other half. Another cycle selects which of the various bus masters gets served when the bus master selection pops up.

Consequently, memory refreshing is assigned the highest priority in an EISA system. Every arbitration cycle includes memory refresh. That's as it should be because without memory refreshing, the system would crash. DMA transfers are next highest in that one active DMA channel would get attention every cycle. The microprocessor has the next highest level of priority, getting control at least every other cycle. At best, any given bus master can only match the priority level of the microprocessor. If several are active, each gets control only after a delay of many arbitration cycles.

Considering the complexity of this arbitration hierarchy, the hardware that brings it to life is actually simple. Only two slot-specific signals are necessary for each expansion board. The controlling logic is all contained inside the ISP chip, so the designers of expansion boards need not worry about complex decision-making circuitry.

When a bus master board wants to request bus access, it only needs to assert its Memory Request (abbreviated MREQx, where x is the slot number, in EISA nomenclature) line. The ISP informs the bus master that it can take control of the bus by asserting the Memory Acknowledge (or MAKx) signal associated with the slot in which the bus master is located.

The EISA standard also allows a form of bus master to be built solely using the AT bus. Such cards use the DMA signals to control the bus, the DMA Request (DRQ) line indicating a need to use the bus. Permission is sent back to the board on the associated DMA Acknowledge line (DAK).

Because these classic bus masters don't have access to all the EISA timing signals, they hold the potential for overstaying their welcome, getting so involved in a transfer so as to not yield control to the one function that absolutely must have it-memory refresh. Consequently, the EISA design requires these boards to have built-in timing circuits to limit the duration of their bus access.

Interrupt Sharing. Speed and data connections are not the only things in short supply in classic bus systems. System interrupts amount to a paltry few once even a modest number of expansion boards are plugged in. Nearly every device connected to the input/output channel-from hard disks to serial ports to video controllers-demands at least one interrupt for optimum performance.

Seven additional interrupts were added to the AT system design when the eight of the original PC proved too few. EISA could have done likewise and dosed new systems with new interrupt channels, but that strategy becomes overly complex and expensive as the number of interrupts increases.

The more moderate solution is to share interrupts between peripherals. With sharing, the 15 existing interrupts could potentially serve needs of an EISA system no matter how much it might be expanded.

Maintaining classic bus compatibility and implementing interrupt sharing is a technological nightmare, however. The principal reason for this problem are the edge-triggered interrupts used by the AT bus. Level-sensitive interrupts are, of course, inherently less susceptible to noise and confusion. But using level-triggered interrupts in the PC environment is problematic. Getting level-sensitive interrupts to work with software that uses edge-triggered interrupts is one difficulty. Maintaining compatibility with existing edge-triggered boards is another, particularly considering that the two kinds of interrupts won't work together on a given interrupt control line. To maintain full backward compatibility, however, EISA must be able to mix the two types of interrupts without causing additional problems.

The EISA approach is to make each interrupt individually programmable between edge-triggered and level-sensitive operation. Old boards can use the edge-triggered interrupts they prefer, one board per interrupt. New EISA expansion boards can share the other interrupts programmed to be level-sensitive.

The one remaining obstacle with this system is that level-sensitive interrupts require a different kind of hardware than does the edge-triggered variety. Because of this difference, plugging a board designed to use an edge-triggered interrupt effectively blocks the use of that interrupt by level-sensitive boards.

This difference in technology also holds the potential for damaging the hardware involved in the conflict. Thankfully, the EISA design minimizes this danger by specifying the inclusion of a current-limiting resistor in the interrupt lines of level-sensitive EISA boards. Nevertheless, EISA supports interrupt sharing only on EISA boards. Existing classic bus expansion cards cannot share interrupts with each other or EISA cards.

Software Setup. At minimum, setting up all the technical wizardry that EISA's engineers have conjured into a system might seem to require a magic wand-what with addressing and interrupt considerations, not to mention four DMA types, the data transfer modes, and the rest of the EISA variables. Even without the innovations, setting up an expansion board meant for the classic bus is generally an exercise in frustration that requires the careful matching of DIP switch and jumper settings with the needs of the board and the available interrupts and memory in the host system. Make one mistake-which is almost assured owing to the deplorable state of most documentation-and the host system likely cannot even boot, let alone diagnose the problem. Fortunately, EISA incorporates several strategies to alleviate these setup problems.

The EISA design automatically prevents conflicts in the assignment of some system resources. In addition, it incorporates a software-mediated setup procedure that finds, flags, and even corrects conflicts to the extent of automatically configuring the system. If that's not enough versatility, EISA also allows old-fashioned switch and jumper configuring of boards as well.

One inspired aspect of EISA automatically eliminates the conflict of input/output port assignments. In classic-bus computers, expansion boards can choose from any ports in the range 100(Hex) to 3FF(Hex) for their needs. You have the job of assigning ports from a range within the range that the board-maker had selected to use. You also have the responsibility of detecting and resolving conflicting port assignments.

In contrast, the EISA design assigns a unique range of ports to each expansion slot. Boards are still confined to a limited range of three-digit hexadecimal addresses, but each expansion slot adds an extra digit to distinguish the ports used by its associated board from those in the other slots. This scheme makes it physically impossible for two boards to try to use the same I/O port addresses.

Each board also can be individually addressed to ferret out information stored in common locations. Besides the slot-specific signals for managing bus arbitration (MREQx and MAKx), each EISA slot incorporates one additional slot-specific signal that redefines a signal assignment on the classic bus, now called AENx. It enables each expansion board to respond independently of the others so that each board can be individually addressed and controlled. By selectively activating the AENx bus line for each slot, the host EISA system can query individual boards, isolate them, or simply identify them.

The nomenclature of these slot-specific signals alone limits EISA to its avowed maximum of 15 expansion slots per system (the x in the signal names is replaced by the hexadecimal designation of the slot), although the specification states that systems with more than eight slots are unlikely.

Each make and model of EISA expansion board is assigned a unique EISA Product Identifier, which is stored on the board at input/output port addresses 0xC80(Hex) to 0xC83(Hex). The first two bytes store, in compressed form, a three-letter abbreviation identifying the board manufacturer (the characters "ISA" reserved to indicate generic classic-bus boards). The next byte encodes a two-digit product number, and the final byte encodes a two-digit revision number. The manufacturer's abbreviation is assigned by BCPR Services, the organization that distributes the EISA specification. Manufacturers create their own product and revision numbers. System boards are assigned identification numbers using a similar scheme.

Supplementing this slot- and card-identification arrangement is an automated setup system. Through a standardized setup program, you can allocate the resources of your EISA system resources or let the system automatically set itself up.

This system brings together several diverse elements. Setup information is maintained in a hardware extension to the CMOS configuration memory used by AT-class computers. Additional battery-backed-up CMOS memory is assigned to remembering the essential parameters of the board installed in each expansion slot.

To load this information into memory, each EISA system manufacturer provides a setup program, either on disk or in ROM. This program integrates with each product that requires setup through Configuration Files, disk-based database records holding setup information in a standardized format set by the EISA specification. The setup program reads the disk-based data to customize itself for the setup needs of each specific product installed in the computer host.

The product identification numbers are used as a key. Stored in CMOS memory, they are used to look up Configuration Files each time the system is switched on. This system centralizes the non-volatile memory needed for memorizing the setup of each board, eliminating the expense of incorporating such memory into each expansion product.

Even the interface of the setup program has been standardized across EISA machines so that if you can set up one, you know how to configure them all. If you don't, mastering the procedure is easy-you only need to pull down menus to choose the options you want.

Share

Disclaimer

1) E-articles is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringement, please read the terms of service and contact us or use the "Report this article" button on this page to investigate the problem.
2) E-articles is not responsible for inaccuracies, falsehoods, or any other types of misinformation this article may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here.