D32 Accesses; Byte Ordering - RadiSys EPC - 6A Hardware Reference Manual

Vmebus controller
Table of Contents

Advertisement

EPC-6A Hardware Reference
*/
outp(0x8130,(WORD)((addr << 10) >> 24);
wptr = (BYTE far *) (0xE0000000L + (addr & 0X0000FFFFL));
*wptr = data;
The success of the access can be checked either by enabling BERR as an interrupt or by
looking at the BERR bit in the event state register after each access. Since writes are
pipelined, software that looks at the BERR bit should first wait until the DONE bit is set.
It is recommended that rather than performing accesses in this low-level,
hardware-dependent form, the Bus Manager component of the EPConnect software
package be used instead.
The following summarizes the source of the VMEbus address lines for accesses through
the E page.
A24
A16

D32 Accesses

Although the 386SX, used in the original EPC6, is a 32-bit processor (for example, 32-bit
registers and operations), its external data bus is 16 bits wide. Any memory operation with
an operand width of 32 bits is broken apart by logic in the processor to two 16-bit
operations. As a result the EPC-6A, using the same VME interface and being a
replacement for the EP6, never performs a VMEbus D32 access.

Byte Ordering

Unlike EPCs that have 32-bit buses, EPC-6A does not contain software-controlled
byte-ordering hardware. The principal reason is that, as described in the previous section,
EPC-6A never performs VMEbus D32 accesses, and therefore there is no feasible way in
hardware to support both forms of byte ordering on what a program would see as a 32-bit
access.
EPC-6A accesses the VMEbus in little-endian (Intel) byte ordering, meaning that, for a
16-bit numerical value, the least-significant byte is assumed to be at the lowest memory
address. This means, for instance, that if a big-endian processor (for example, Motorola
680x0) stored the 16-bit value 0102h, the EPC-6A would interpret its value as 0201h. If a
big-endian processor stored the 32-bit value 01020304h and it were fetched by a program
on the EPC-6A as a 32-bit operand (meaning, as explained above, the EPC-6A would
perform two 16-bit accesses), the EPC-6A program would see the value as 04030201h.
The EPConnect Bus Manager software provides functions for swapping byte ordering
during memory-copy operations.
22
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
23 22
21
16
15
From
From
port
port
8151
8130
15
/* A21–A16 */
/* Write through window */
0
From
486DX2 address
bits 15–0
0
From
486DX2 address
bits 15–0

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents