All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its
use, copying, distribution and decompilation. No part of this product or document may be reproduced in any form
by any means without prior written authorization of Sun and its licensors, if any. This product or the products
depicted herein may be protected by one or more U.S. or international patents or pending patents. Portions of this
product may be derived from the UNIX® and Berkeley 4.3 BSD systems, licensed from UNIX Systems
Laboratories, Inc. and the University of California, respectively. Third party font software in this product is
protected by copyright and licensed from Sun’s Font Suppliers.
RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as
set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS
252.227-7013 and FAR 52.227-19.
Sun, Sun Microsystems, the Sun Logo, OpenWindows, SunView, SunOS, DeskSet, NFS and NEWS are trademarks
or registered trademarks of Sun Microsystems, Inc. UNIX and OPEN LOOK are registered trademarks of UNIX
Systems Laboratories, Inc. All other product names mentioned herein are the trademarks of their respective owners.
All SPARC trademarks, including the SCD Compliant Logo, are trademarks or registered trademarks of SPARC
International, Inc. The SPARCbook trademark is licensed exclusively to Tadpole Technology, Inc. Products bearing
SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
The OPEN LOOK® and Sun™ Graphical User Interfaces were developed by Sun Microsystems, Inc. for its users
and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of
visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the
Xerox Graphical User Interface, which license also covers Sun’s licensees who implement OPEN LOOK GUI’s and
otherwise comply with Sun’s written license agreements.
The X Window System is a product of the Massachusetts Institute of Technology.
UNIX and OPEN LOOK are registered trademarks of UNIX System Laboratories
PostScript is a trademark of Adobe Systems, Inc
Solaris is a product of Sun Microsystems, Inc
Notebook Computing Environment and NCE are trademarks of Tadpole Technology, Inc.
The SPARCbook 3 Technical Reference Manual is
written for the hardware engineer wishing to carry
out service or repairs, and at the software engineer
wishing to implement hardware drivers. It is
assumed that you are familiar with the operation of
SPARCbook 3, as detailed in the SPARCbook 3
User Guide, and that you have an understanding of
computer hardware.
The SPARCbook 3 Technical Reference Manual covers all
models of SPARCbook 3. Where information for one model
differs to information for another model, this is indicated in the
text.
Document Summary
The SPARCbook 3 Technical Reference Manual comprises the following
chapters:
•Chapter 1 ,
SPARCbook 3 and introduces the main hardware devices that provide
control over the SPARCbook 3’s operations. The internal architecture
of SPARCbook 3 is described, showing how the major devices are
connected together.
•Chapter 2,
processor.
•Chapter 3,
architecture and the interrupt architecture of the SPARCbook 3.
•Chapter 4 ,
SPARCbook 3.
•Chapter 5,
•Chapter 6,
SPARCbook 3.
•Chapter 7,
the SPARCbook 3.
•Chapter 8,
16-bit audio controller.
•Chapter 9,
3.
Architecture Overview,
Microprocessor
Memory Map and Interrupts
Serial Interface
SCSI Communications,
Ethernet Interfac
PCMCIA
ISDN and 16-Bit Audio Controller
Modem
, discusses the internal modem on the SPARCbook
, provides an overview of the SPARC
, discusses the serial interface of the
, discusses the PCMCIA interface implemented in
discusses the main features of the
, describes the addressing
discusses the SCSI controller.
e, discusses the Ethernet interface of the
, discusses the ISDN and
•Chapter 10,
SPARCbook 3.
•Chapter 11,
implemented in the SPARCbook 3. The discussion is centered on the
Brooktree Bt445 RAMDAC, on which the interface is based.
•Chapter 12,
subsystem. This is used to provide internal control over such things as
the display brightness, keyboard and mouse scanning and power
management.
x
Parallel Interface
Display Interface
Microcontroller Subsystem
, discusses the parallel interface on the
, discusses the display interface
, discusses the microcontroller
Definitions
Logic states
The following conventions are used in the SPARCbook 3 Technical
Reference Manual:
The terms
level ‘0’.
The terms
level ‘1’.
The term
regardless of whether that state is high or low.
The term
regardless of whether that state is high or low.
clear
or
set
or
asserted
negated
low
high
indicates that a signal is in its true or active state
indicates that a signal is in its false or inactive state
Data entities
A
halfword
A
word
A
doubleword
is taken to contain 16 bits.
is taken to contain 32 bits.
is taken to contain 64 bits
Typographical conventions
Different typography is used in this guide to distinguish between normal
text, examples of SPARCbook responses, and cases where you are required
to provide input using the keyboard or mouse.
Key presses, buttons, and field names
Key presses are shown in
you need to press two or more keys; for example:
To switch off your SPARCbook, press
indicate that the signal being discussed is at the logic
indicate that the signal being discussed is at the logic
Helvetica bold
. In order to perform certain tasks,
Pause-O.
In this case, you should press the
holding the
Buttons and field names are also shown in
Click the
Type the name of the file that you want to send in the
key down, press the O key.
Pause
Transmit
button.
key down first, and then, while
Pause
Helvetica bold
. For example:
File Name
field.
xi
Solaris commands
Information displayed on your SPARCbook screen by the Solaris
Operating System is shown in
Courier
font.
Courier
is also used to
describe system utilities and commands. For example:
The
mail
system will inform you when there is incoming mail from
another user.
you have mail
Bold Courier
perform a specific task. For example:
To report the current time and date you should use the
command:
%
Notes, cautions and warnings
Notes are used throughout this manual to explain items of related interest
to the topic under discussion, and are used to refer the reader to another part
of the manual, or to other documentation.
Note
This is an example of a note, used as to provide additional information.
Cautions are used to advise the reader of actions that if carried out may
cause damage to the SPARCbook 3.
Caution
This is an example of a caution
Warnings are used to draw your attention to actions that could cause
personal injury or pose a hazard to life. For example:
WARNING!
THE AC ADAPTER SUPPLIED WITH YOUR SPARCBOOK 3 CONTAINS
HAZARDOUS VOLTAGES. IT CONTAINS NO USER SERVICEABLE
PARTS. DO NOT REMOVE THE COVERS.
is used in examples to show what you must type in order to
date
date
xii
Architecture Overview
This chapter discusses the architecture of the
SPARCbook 3. It describes the main system
components and how they are packaged together to
deliver workstation-class performance in a compact
notebook form factor.
1
1
1.1Introduction
At the heart of the SPARCbook 3 design concept is the Tadpole Advanced
Notebook Architecture (ANA). This defines a set of goals and guidelines to
which the SPARCbook 3 range of systems are designed. It is a modular
approach which results in a system that implements highly integrated
components to provide the performance and I/O facilities normally
associated with desktop workstations. It also results in a system that can be
readily upgraded by the user with larger memory (up to 128 MB) or disk
capacities or returned to the factory for upgrades with the fastest CPUs
available for notebook implementation.
1.2Main Components
The SPARCbook 3 contains three printed circuit boards. These are the
S3-XP Base board, the S3-XP or the S3TX CPU module, and the
microcontroller board.
1.2.1Base board
The S3-XP Base board carries all of the I/O components together with the
display controller, RAMDAC and 2MB of Video RAM, and the battery
management hardware. It is populated on both sides using mainly surface
mount devices in order to keep its physical dimensions to a minimum. The
Base board also carries two PCMCIA sockets and the I/O panel which is
visible at the rear of the assembled system.
Introduction
1.2.2CPU module
1-2
Architecture Overview
The Base board provides mounting points and sockets to accommodate the
CPU module.
The CPU module carries the main SPARC CPU. The CPU module is
extended to carry the main memory SIMMS. This physical arrangement
has the advantage of making the SIMMs very easy to fit to or remove from
a fully assembled system through the battery tray without the use of tools.
The CPU module is mounted onto the base board such that the CPU itself
is sandwiched between the CPU module and Base board. However, an
interesting feature of the Base board is a large hole through which a
heatsink fitted to the main CPU is allowed to protrude when the two boards
Main Components
are fixed together. When the two boards are correctly assembled, the CPU
heatsink is brought into contact with the system’s magnesium base casting
to provide effective heat dissipation, as shown in Figure 1-1.
Figure 1-1 CPU Heat Dissipation
1.2.3Microcontroller module
The microcontroller module is a small board which carries an Hitachi H8
microcontroller, the status display which is visible from the outside of the
assembled system, and a number of programmable memory devices. It
provides connections for the keyboard and pointing stick for which it
provides control and for the Base board for which it provides system
control and status monitoring functions.
Inter-Board Connectors
Heatsink
CPU
CPU Module
Base Board
System’s Magnesium
Base
1.2.4Main display
The main display is housed within the system’s lid along with an inverter
board required to drive the display’s backlight. Systems use either 9.4 inch
640 x 480 or 10.4 inch 800 x 600 color TFT display to provide a sharp
image in a wide range of lighting conditions. The brightness of the
backlight is controlled by the microcontroller and can be varied to suit the
lighting conditions or can be dimmed or turned off when required to
conserve battery power.
1.2.5Other components
In addition to the main boards and display, the SPARCbook 3 system
contains is a 2.5 inch 1.2 GB (or larger when available) SCSI hard disk
drive assembled within a removable module. The drive can be removed
from the SPARCbook 3 while the system is fully assembled, see your
SPARCbook 3 User Guide
.
Architecture Overview
1-3
1.3System Architecture
The SPARCbook 3 system architecture is illustrated in Figure 1-2.
System Architecture
TFT
Display
Ext.
Display
RAMDAC
Graphics
Controller
Microcontroller
Subsystem
Module
Modem
Modem
CPU
Base
Board
Ext.
Keyboard/Mouse
Serial
SLAVIO
SPARC CPU
SCSI
SBus
TS102
ASIC
Ethernet
Parallel
MACIO
Audio
ISDN
ISDN/
Audio
32
2x
PCMCIA
Sockets
Figure 1-2 SPARCbook 3 Architecture
1-4
Architecture Overview
Memory
Bus
DRAM(2 x SIMMs)
64
Processor
1.4Processor
The CPU used in the S3TX is the TurboSPARC and the CPU used in the
S3XPand S3GX is the microSPARC II.
The TurboSPARC CPU provides the following key features:
•SPARC compliant V8 Integer Unit core
•SPARC Reference Memory Management Unit
•Floating Point ALU
•FP-Muliply Unit
•FP Divide/Square Root Unit
•16 Kbyte Instruction Cache
•16 Kbyte Data Cache
•Secondary Cache Controller
•DRAM Controller
•SBus Controller, Master and Slave Interface.
The TurboSPARC implemented in the S3TX operates at 170 MHz and
provides performance figures of 3.5 SPECint95 and 3.0 SPECfp95.
The microSPARC II CPU provides the following key features:
•SPARC-II compliant V8 Integer Unit (IU) core
•SPARC Reference Memory Management Unit (MMU)
•MEIKO Floating Point Unit (FPU)
•16 Kbyte Instruction Cache
•8 Kbyte Data Cache
•Memory Controller
•SBus Controller, Master & Slave Interface.
The microSPARC II implemented in the SPARCbook 3XP processor
operates at 85 MHz and provides performance figures of 64 SPECint92 and
54.6 SPECfp92.
The microSPARC II implemented in the SPARCbook 3GX processor
operates at 105 MHz and provides performance figures of 64 SPECint92
and 54.6 SPECfp92.
Architecture Overview
1-5
1.5Main System Buses
The SPARCbook 3 architecture is based around three main buses
conventional for SPARC-based workstations. These are the Memory bus
which connects the CPU to the main memory; the SBus which connects the
CPU to the major I/O devices; and the EBus.
1.5.1Memory bus
The microSPARC II’s integral memory controller is connected to the
system DRAM directly via a 64 bit high speed memory bus. The
microSPARC II provides direct addressing and control for the main
memory, illustrated in Figure 1-3, providing the write enable signal and
RAS and CAS lines. The smallest data movement is 64 bits; smaller
transfers are carried out by using read-modify-write operations. Parity
protection is provided by the CPU as 1 bit per word (32 bits) of data. SBus
based master I/O devices are able to access the memory bus via the
processor’s SBus interface.
Main System Buses
STSX1012
microSPARC II
Figure 1-3 Main Memory/CPU Interface
1.5.2SBus
The microSPARC II incorporates a complete SBus controller. The SBus
connects the microSPARC II to the Weitek P9100 graphics controller,
NCR89C105 SLAVIO, NCR89C100 MACIO and T725FC ISDN
controller. See Figure 1-4.
1-6 Architecture Overview
64
12
Data
Address
Control
DRAM
Main System Buses
Weitek P9100
Graphics Controller
32323216
STSX1012
microSPARC II
Figure 1-4 SBus Connected Devices
The microSPARC II provides an SBus Master and Slave interface which
enables the I/O devices with integrated DMA capability to gain access to
the main memory without encroaching unduly on processor bandwidth.
SBus master and slave operations can be single cycle or bursts, and
dynamic bus sizing is supported (for single-cycle transfers). Master
accesses by the microSPARC II to the SBus cannot be cached, and only
double burst accesses are supported.
1.5.3Ebus
NCR89C105
SLAVIO
NCR89C100
MACIO
TS102
PCMCIA Controller
Data
Address
T725FC
ISDN Controller
32
The third system bus within the SPARCbook 3 is the Ebus. This is an 8-bit
data bus driven by the SLAVIO. The SLAVIO divides the EBus address
space into a number of regions by providing address generated EPROM,
RTC/RAM and Generic chip select signals. The EBus interface of the
SLAVIO is limited to a data bus and the chip select signals. The EBus
address bus is driven by the TS102 ASIC to enable the CPU to gain access
to the internal registers of devices on the EBus. Figure 1-5 provides a
simplified illustration of the EBus architecture.
Architecture Overview 1-7
Chip Selects
DRAM
NCR89C105
SLAVIO
Figure 1-5 EBus Architecture
1.6DRAM
Data
MK48T08
TRC/RAM
Address
Boot
EPROM
Modem
8
19
TS102
MBus
Address
The SPARCbook 3 provides two SIMM sites which support a range of
different capacity modules. The SIMM sites accommodate 72-pin units,
which must be fitted in matched pairs to provide a full width 64-bit data
interface for the microSPARC II.
The SIMMs are each 33-bits wide (32 bits data and 1 bit parity), and are
available in sizes of 8Mbytes x 33, 16Mbytes x 33, 32Mbytes x 33, and
64Mbytesx33. This gives a usable memory capacity of up to of 128. The
fast processor clock speed used in SPARCbook 3 series computers requires
the use of 60ns SIMMS.
1-8 Architecture Overview
Slow I/O Subsystem
1.7Slow I/O Subsystem
The Slow I/O subsystem is managed by an NCR89C105 SLAVIO. The
SLAVIO is an application specific integrated circuit (ASIC), designed as
part of a two-chip set with the NCR89C100 MACIO, which provides two
serial channels, keyboard and mouse ports, an interrupt controller and two
counter-timers. The key features of the SLAVIO include:
•Two synchronous/asynchronous serial ports (85C30 SCC compatible)
•Keyboard/mouse ports (85C30 SCC sub-set)
•Two programmable counter-timers (500ns period)
•Interrupt controller
•8-bit expansion bus (EBus) interface/controller for EPROM and 8-bit
I/O devices
•Internal 82077 style floppy disk controller
•Miscellaneous I/O functions.
1.7.1Serial Channels
The two serial ports are used to provide general purpose synchronous or
asynchronous RS232 interfaces. The SCC channels A and B are connected
to two 8-way mini-DIN connectors, which are marked as Serial Channel A
and Serial Channel B on the I/O panel at the rear of the SPARCbook 3
system unit.
1.7.2Counter-Timers
The two remaining serial channels provide the keyboard and mouse
interfaces. These use transmit and receive data only. The TTL-level output
signals connect directly to the combined Keyboard/Mouse mini-DIN
connector on the I/O panel at the rear of the SPARCbook 3 unit.
For more information about these channels, refer to Chapter 4, “Serial
Interface”. For information about the connections of these channels, refer
to Appendix B, “Connector Information”.
The SLAVIO contains two counter timers. These are the System Counter
and the Processor Counter/User Timer which are clocked at 2MHz and can
provide counter-timer functions or periodic interrupts. The System Counter
is 22 bits wide, and increments every 500ns.
The Processor Counter/User Timer can be used in either the same mode as
the System Counter, or as a free running 54-bit timer. OpenBoot uses the
Processor Counter as a system watchdog timer.
Architecture Overview 1-9
1.7.3Interrupt Controller
The interrupt controller co-ordinates all on-board interrupt functions. These
include all internal sources and a number of signals from elsewhere within
the system. The microSPARC II uses a 4-bit priority encoded interrupt
mechanism. The SLAVIO provides control and priority encoding for all of
the system interrupt sources. For more information about the SPARCbook
3 interrupts system, see Section 3.2, “Interrupts”, on page 3-5.
1.7.4EBus Interface and Controller
The SLAVIO provides an 8-bit bus called the EBus for a number of slower
auxiliary devices. The EBus interface of the SLAVIO supports the Boot
ROM; the real time clock and SRAM; and the system clock control port.
This is illustrated in Figure 1-5.
1.8Fast I/O Subsystem
The Fast I/O Subsystem includes the SCSI, parallel and network interfaces.
These are controlled by the NCR89C105 MACIO. This device is a custom
ASIC designed to be operated with the NCR89C100 SLAVIO as a
two-chip set. The key features of the MACIO include:
•IEEE-1496 SBus DMA controller
This section describes each of these features.
The SCSI controller provides a 10Mbyte/sec 8-bit interface able to support
up to eight SCSI devices. The SPARCbook 3 counts as one device, and the
hard disk counts as a second, making it possible to add six external devices.
The SPARCbook 3 is fitted with a 50-pin high density SCSI-2 connector.
For more information, refer to Chapter 5, “SCSI Controller”. For
information about the connections, refer to Appendix B, “Connector
Information”.
Fast I/O Subsystem
1.8.2Ethernet Controller
The Ethernet controller provides a 10Mbit/sec networking interface. The
design features an AT&T serial interface encoder to provide the standard
AUI interface through a 26-way high density connector. An AUI cable and
an Ethernet transceiver can be used to provide access to other physical
Ethernet media, including Thick, Thin and Fiber-optic networks.
Note
The AUI interface is DC coupled, and any attachment units used with SPARCbook 3
must feature the network isolation function.
Ethernet data transfers are supported with the MACIO DMA function.
For more information, refer to Chapter 6, “Ethernet Interface”. For
information about the connections, refer to Appendix B, “Connector
Information”.
1.8.3Parallel Port
The parallel port breakout cable supplied with the SPARCbook enables
connection to a bi-directional Centronics style interface on a standard
25-way D-Type connector. Parallel port data transfers are supported with
the MACIO DMA function.
For more information, refer to Chapter 10, “Parallel Interface”. For
information about the connections, refer to to Appendix B, “Connector
Information”.
1.8.4FIFOs and DMA Controller
The FIFO and DMAC arrangement provided by the MACIO supports the
SCSI, Ethernet and parallel interfaces. The DMAC performs burst transfers
on the SBus whenever possible, supported by the FIFO circuitry, to
minimize the I/O bandwidth consumed by simultaneous operation of these
interfaces.
Architecture Overview 1-11
1.9Graphics and Video Subsystem
The Graphics and Video Subsystem comprises the Weitek P9100 User
Interface Controller, an IBM RGB528 palette DAC (RAMDAC), and a
framebuffer provided by a 2MByte array of video RAM (VRAM) devices.
All display interface configuration is carried out in software. There are no
link adjustments.
The display interface supports the following display resolutions:
•640 x 480 at 8, 16 or 24 bits per pixel
•1024 x 768 at 8 or 16 bits per pixel
•1152 x 900 at 8 bits per pixel
•1280 x 1024 at 8 bits per pixel
1.9.1Graphics Controller
The P9100 User Interface Controller provides the graphics control
function. This device provides a 32-bit host interface and the following
features:
•32-bit VRAM interface and control signals
•RAMDAC interface and control signals
•Video timing control (up to 165MHz)
•2D Graphics Accelerator
•Supports X window drawing mode
•Powerful graphics primitives
Graphics and Video Subsystem
The Weitek Power 9100 User Interface Controller provides programmable
display resolutions, supporting displays from 640 x 480 up to 1280 x 1024
pixels.
1.9.2VRAM
The SPARCbook 3 has a 2Mbyte framebuffer comprising eight 256K x 8
devices. The VRAM is dual ported to provide a random access port for
P9100 and a serial read-only port for the RAMDAC. The random access
port is used by the P9100 and host to read and write picture information.
The serial port is used to output pixel information to the RAMDAC. The
RAMDAC provides timing signals for the serial data port of the
framebuffer.
1.9.3RAMDAC, Panel Driver and Video Clock Generator
The RGB528 combines a video clock generator, RAMDAC and flat panel
control circuitry. The primary mode of operation supports the internal TFT
panel and provides a display of 800 x 600 pixels (640x480 on some models)
1-12 Architecture Overview
MK48T08 RTCRAM
in 256 colors from a palette of 262144. The RAMDAC can be software
configured to support display resolutions of up to 1280 x 1024 in 256 colors
(from a choice of 16M) on external monitors. 16 bit and 24 bit true color
imaging modes are also supported on some configurations. The RAMDAC
also provides numerous power-down features.
1.10MK48T08 RTCRAM
The MK48T18 provides time-keeping facilities and incorporates 8 Kbytes
of battery-backed non-volatile RAM. The device appears to software as an
ordinary 8K x 8 RAM array. However, the uppermost 8 bytes provides an
accurately updated real-time clock. The battery-backed RAM is used to
store system configuration information, such as manufacturing data and
Ethernet ID, via Tadpole’s implementation of the OpenBoot firmware. The
real time clock provides second, minute, hour, day, date, month and year
information and a calibration register which allows adjustment of the RTC
function in 2ppm steps. The device is accessed via the EBus port of the
SLAVIO device.
1.11ISDN and 16-Bit Audio Controller
The ISDN and Audio interface consists of two major components: the
AT&T T7259 Dual Basic Rate ISDN Controller; and the Crystal
Semiconductor Corporation CS4215 Multimedia Audio CODEC.
The T7259 has the following major features:
•Simultaneous terminal endpoint (TE) and network termination (NT)
•CCITT I.430/ANSI T1.605 support for 4 wire ISDN 2B+D basic
access at the S/T reference point
•Multiframing support: S&Q channel operation
•Automatic synchronization of ISDN interfaces
•On-chip HDLC formatter
•On-chip 16-channel DMA address generator and linked list buffer
manager
The ISDN controller combines a DMAC and data format converter
(Parallel/Serial, Serial/Parallel and Time-Division-Multiplex). It has a
number of DMA channels that can be allocated to support the ISDN or
audio functions. The DMACs provide linked-list command support, and
Architecture Overview 1-13
PCMCIA Controller
FIFOs allow burst data transfers to be performed on the Sbus. Large
amounts of ISDN or audio information can be moved to and from the Sbus
with a minimum of processor overhead. The data is formatted by the ISDN
controller into a composite digital serial stream (the Concentration
Highway Interface). This connects to additional on-chip ISDN support
circuitry, and to the external audio CODEC. The ISDN interface is
implemented as a 2B+D Terminal Endpoint.
The Concentration Highway Interface of the ISDN circuitry provides a
variety of different serial digital framing standards and data rates to the
Audio CODEC. This supports a majority of the world standard Digital
Audio formats. Typical configurations include high-quality stereo 16-bit
44.1KHz (CD), and telephony quality mono 8-bit 8KHz (ISDN).
The CS4215 Audio CODEC has the following major features:
•Stereo analog-to-digital and digital-to-analog conversion
•4KHz to 48KHz sample rates
•16-bit linear and 8-bit u-law or A-law coding
•Serial digital interface, compatible with AT&T CHI Concentration
Highway Interface
•Microphone and line analog outputs
1.12PCMCIA Controller
The PCMCIA controller is the Tadpole TS102. This device provides an
interface between the SBus and the PCMCIA bus. It performs the
additional function of providing a serial link between the CPU and
microcontroller. The TS102 supports two PCMCIA Type I, II, and III cards
or devices at a time. However, due to space constraints, the SPARCbook 3
unit is able to support one or two Type I and II cards, but only one Type III
device.
1.13Modem Interface
The modem interface consists of a microcontroller, a DSP device and a
DAA. The microcontroller is the high-level controlling element and
interfaces to the system bus. The DSP device performs all of the high speed
data manipulation and data conversion. The DAA provides the line
interconnect to the telephone network.
1-14 Architecture Overview
Microcontroller Subsystem
The modem supports a number of high level functions. It implements
DTMF dialing, call progression, and is controlled via an enhanced “AT”
command set. The data standards supported include V.22 bis, V.23, V.32,
V.32 bis, V.42, and V.42 bis. In addition, the modem provides send and
receive Fax capabilities to Group 3 standards (at up to 14,400bps).
1.14Microcontroller Subsystem
The microcontroller subsystem provides system housekeeping support,
freeing the main CPU. A Hitachi H8/337 microcontroller is used, offering
the following features:
The microcontroller subsystem performs the following functions:
•Internal keyboard and pointing device control
•External keyboard and mouse control
•Serial communication channels to SLAVIO keyboard and mouse ports
•PSU and battery energy management
•System non-volatile storage (RTC and serial EEPROM)
•Environmental parameter control (display brightness and audio
volume)
•LCD status display (2 x 16 character) control
•System reset control
•Power management control
Architecture Overview 1-15
Microcontroller Subsystem
1-16 Architecture Overview
The SPARC CPU 2
Processing power for all SPARCbook 3 models is
provided by SPARC processors. In the case of he
S3XP and S3GX microSPARC II is used; in the
case of the S3TX TurboSPARC is used.
This chapter provides a general overview of
SPARC CPU. For further information, please refer
to Appendix A, “Further Information”.
22
2.1SPARC Architecture Overview
The SPARC processor is a highly integrated device which provides the
following features:
•SPARC compliant V8 Integer Unit core
•SPARC Reference Memory Management Unit
•MEIKO Floating Point Unit
•16 Kbyte Instruction Cache
•8 or 16 Kbyte Data Cache
•Memory Controller
•SBus Controller, Master and Slave Interface
inst[31:0]
Integer
Unit
Instr
dpc[31:2]
fp_dout_e[63:0]
iu_dout[63:0]
Floating Point
Unit
SPARC Architecture Overview
d_va[31:0]
i_va{31:0]
Instruction
Cache
64 bit Cache Fill Bus
Memory
Interface
memdata<63:0>
Main Memory
Figure 2-1 MicroSPARC-II Architecture
2-2 The SPARC CPU
Data
Cache
Write Buffer
4 Entry
SBC
32 bit SBus
MMU
64 entry
Phy_addr[27:0]
Misc_Bus[31:0]
Integer Unit
2.2Integer Unit
2.2.1Pipeline
The SPARC CPU is a RISC (reduced instruction set computer) based
processor which uses a simplified command set to carry out operations. It
is able to execute most instructions within a single clock cycle.
The high performance of the SPARC CPU is enhanced by the ability of the
floating point unit (FPU) to execute instructions simultaneously with the
integer unit (IU), and by the provision of cache memory. The cache
memory is a specialized area of fast (zero wait state) memory which allows
many instructions and operands to be fetched locally by the CPU without it
having to access the (comparatively slow) main memory.
The IU is the main processing engine, executing all instruction groups
except for floating point operations.
The SPA IU has a five-stage pipeline, receiving instructions which
complete five cycles later. The five stages are fetch, decode, execute, cache
access and write back. These stages are overlapped to allow a peak
execution rate of one instruction per cycle.
The one instruction per cycle performance is supported by the IU’s 32-bit
data bus which interfaces directly with the instruction cache. If an
instruction is in the cache, it is returned in the same cycle in which it was
requested.
2.2.2Instruction set overview
The integer instructions supported by the micro SPARC processor fall into
the following basic categories:
•Load and Store Instructions
•Arithmetic, Logical and Shift Instructions
•Control Transfer Instructions
•Read/Write Control Registers Instructions.
The load and store instructions are the only instructions that cause the
movement of data on the memory interface. They use two registers or a
register and a constant to calculate the memory address involved. Halfword
accesses must be aligned on 2-byte boundaries, word accesses on 4-byte
boundaries, and doubleword accesses on 8-byte boundaries. These
alignment restrictions greatly speed up memory access.
The SPARC CPU 2-3
Integer Unit
The arithmetic, logical and shift instructions compute a result that is a
function of one or two source operands and then place the result
non-destructively in a register.
The control transfer instruction category includes jumps, calls, traps, and
branches. Control transfers are usually delayed until after execution of the
next instructions so that the pipeline is not emptied every time a control
transfer occurs, allowing compilers to optimize for delayed branching.
The read/write control register instructions include instructions to read and
write the contents of various control registers. Generally, the source or
destination is implied by the instruction.
INSTRUCTIONCYCLES
Call1
Single Loads1
Jump/Return2
Double Loads2
Single Stores1
Double Stores2
Taken Trap3
Atomic Load/Store2
SWAP2
Integer Multiply19
Integer Divide39
All Others1
2.2.3Traps and interrupts
The SPARC design supports a full set of traps and interrupts. They are
handled by a table that supports 128 hardware and 128 software traps. Even
though floating-point instructions can execute concurrently with integer
instructions, floating-point traps are precise because the FPU supplies
(from the table) the address of the instruction that failed.
2-4 The SPARC CPU
Table 2-1 IU Cycles per Instruction
Integer Unit
The IU supports both asynchronous traps (interrupts) and synchronous
traps (error conditions and trap instructions). Traps transfer control to an
offset within the trap table. The base address of the table is specified by the
Trap Base Register and the offset is a function of the trap type. Traps are
taken before the current instruction causes any changes visible to the
programmer and can therefore be considered to occur between instructions.
Interrupts from the peripheral devices in SPARCbook 3 are controlled and
prioritized by the SLAVIO.
2.2.4Memory protection
The SPARC design provides memory protection, essential for smooth
multi-tasking operation. Memory protection prevents user programs from
corrupting the system, other user programs, or themselves.
The IU supports a multi-tasking operating system by providing user and
supervisor modes. Some instructions are privileged and can only be
executed while the processor is in supervisor mode. Changing from user to
supervisor mode requires taking a hardware interrupt or executing a trap
instruction. This instruction execution protection ensures that user
programs cannot accidentally alter the state of the machine with respect to
its peripherals.
2.2.5IU internal registers
The IU contains working registers (or r registers) and control registers. The
r registers are used for storage by processes, and the control registers are
used to track and control the state of the IU. The r registers are within a
large register file containing one hundred and twenty 32-bit registers. Eight
of these are global registers and are always accessible to a program, while
the remaining registers are accessed through register windows. The way in
which register windows are organized is shown in Figure 2-2.
The register file contains seven register windows, and each window
contains twenty-four working registers. Each register window is divided
into three sections called ins, outs, and locals, with eight registers in each
section. Windows share ins and outs with adjacent windows. The outs of
the previous window are the ins of the current window, and the outs of the
current window are the ins of the next window. The windows form a
circular stack where the outs of the last window are the ins of the first
window.
A current window pointer (CWP) in the processor state register keeps track
of the currently active window. The CWP is decremented when a program
calls a subroutine that causes the processor to make accesses to the next
The SPARC CPU 2-5
r31
:
r24
r23
:
r16
r15
:
r8
INS
LOCALS
OUTS
r31
:
r24
r23
r
:
r16
r15
:
r8
r7
:r0GLOBALS
INS
LOCALS
OUTS
r31
:
r24
r23
:
r16
r15
:
r8
Integer Unit
INS
LOCALS
OUTS
Figure 2-2 Window Register Organization
window, and is incremented when the processor returns to the previous
window. Register windows can be marked as invalid in the WIM register,
and interrupts can be enabled to signal when movement into an invalid
window is caused by an instruction.
2.2.6IU control registers
These include the Processor Status Register, the Window Invalid Mask
Register, the Trap Base Register, the Y Register, and the Program Counter.
2-6 The SPARC CPU
Floating Point Unit
2.3Floating Point Unit
The SPARC FPU is designed to execute all single- and double-precision
SPARC Version 8 floating point instructions except fsmuld. All other FP
instructions cause an unimplemented floating point operation trap. The
FPU contains a 32x32-bit register file.
INSTRUCTIONMINTYPMAX
fads4417
faddd4417
fsubs4417
fsubd4417
fmuls5525
fmuld7932
fdivs62038
fdivd63556
fsqrts63751
fsqrtd66580
fnegs222
fmovs222
fabss222
fstod2214
fdtos3316
fitos5613
fitod4613
fstoi6613
fdtoi7714
fcmps4415
fcmpd4415
fcomes4415
fcmped4415
unimplemented333
Table 2-2 FPU Execution Timing
The SPARC CPU 2-7
2.3.1Floating Point Registers
The FPU contains thirty-two 32-bit floating-point f registers, as illustrated
in Figure 3-8. These form a 32x32-bit register file. The contents of these
registers are transferred to and from external memory under control of the
IU using floating-point load/store instructions. Addresses and control
signals for data accesses during a floating-point load or store are supplied
by the IU, while the FPU supplies or receives the data.
f31
f30
•
•
•
•
•
•
•
f01
f00
Cache Controller and Memory Management Unit
Figure 2-3 f Registers
Although the FPU operates concurrently with the IU, a program containing
floating-point computations generates results as if the instructions were
being executed sequentially.
A single f register is able to store one single-precision operand. Two
registers are required to hold a double precision operand.
2.4Cache Controller and Memory Management Unit
The SPARC’s integral Memory Management Unit (MMU) provides virtual
to physical address translation, memory protection and arbitration between
I/O, data cache and TLB references to physical memory.
2-8 The SPARC CPU
Cache Controller and Memory Management Unit
2.4.1Translation lookaside buffer
The Memory Management Unit (MMU) conforms to the standard SPARC
architecture definition for memory management.
The MMU provides virtual to physical address translation using a
translation lookaside buffer (TLB). An entry in the TLB has the fields
shown in Figure 2-4.
Virtual Address TagContext TagLevelSIO PTP Page Table FieldMUW SR SWURSEUE
Prot
Figure 2-4 TLB Entry
TLB Entry FieldsVirtual Address Tag
represents the most significant 20 bits, VA(31:12), of the
virtual address.
Context Tag
is compared with the 6-bit context number in the context
register written by memory management software.
ProtSix protection bits in each TLB entry represent the decoded
ACC bits from the matching PTE. These are: User Rd, Wr,
Ex, and Supervisor Rd, Wr, Ex.
LevelThis 3-bit field is used to allow the proper tag match of
region and segment PTEs. I/O PTEs and PTPs 1 will have
this field set to use index 1, 2, and 3. The most significant bit
also serves as the TLB Valid Bit because it is set for any
valid PTE, I/OPTE or PTP.
000 = none
100 = Index 1 –VA(31:24)
110 = Index 1,2 – VA(31:18)
111 = index 1,2,3 – VA(31:12)
SSupervisor – This bit disables matching of the context field
of a page in supervisor level.
MThis is set to 1 if page is written.
I/O PTEThis bit, when ‘0’, indicates that an I/O PTE is contained in
this entry.
The SPARC CPU 2-9
Cache Controller and Memory Management Unit
PTPThis bit, when set, indicates that a page table pointer is
contained in this entry
Page Table Field
This field can contain a PTE, PTP or I/O PTE. It can be read
and written using ASI 0x06 (25 bits).
Page Table EntryThe PTE defines the physical address of a page and its access permission.
It contains the following information:
Bits 31:27Reserved - always write 0.
Bits 26:8PPN – Physical Page Number, which provides the upper 19
bits (30:12) of the 31-bit physical address of the page.
Bit 7Cacheable. This bit when set indicates that a page is
cacheable.
Bit 6Modified. This bit is set when the page is written to.
Bit 5Always 1 for a PTE in the TLB. For a PTE in physical
memory, this bit is set when the page is accessed.
Bits 4:2ACC – Access Permissions. This field indicates whether
access is permitted for the transaction being attempted. The
Address Space Identifier (ASI) determines whether the an
access is an instruction or data access, and whether it is a
user or supervisor access.
2-10 The SPARC CPU
ACCUserSupervisor
000Read OnlyRead Only
001Read/WriteRead/Write
010Read/ExecuteRead/Execute
011Read/Write/ExecuteRead/Write/Execute
100Execute OnlyExecute Only
101Read OnlyExecute Only
110No AccessRead/Execute
111No AccessRead/Write/Execute
Table 2-3 Page Table Access Permissions
Bits 1:0ET – These are set to 10 indicate an entry type of PTE.
Page Table PointerThe PTP contains the physical address of a page table in memory, and can
be found in the context table, or in a level 1 or 2 page table. Page tables are
loaded into the TLB during tablewalks, and are removed by tablewalks or
flushing.
Bits 31:27Reserved – always write 0
Bits 26:4PTP – Physical address of the next page table.
Bits 3:2Reserved – always 00.
Bits 1:0ET – Entry type, contains 01 to denote a PTP.
I/O Page Table EntryThe I/O PTE defines the physical address of a page and its access
permission.
Bits 31:27Reserved – always write 0
Bits 26:8PPN – Physical Page Number, which provides the upper 19
bits (30:12) of the 31-bit physical address of the page.
Bits 7:3Reserved – always contains 0000
Bit 2Writeable
0 = read only
1 = read/write
Bit 1This bit is set to 1 when the I/OPTE is valid
Bit 0This bit is to be written as zero (WAZ) in the Memory I/O
2.4.2Address translation
During an access by the IU, the virtual address supplied by the IU and the
contents of the context register are compared with the virtual section of all
TLB entries. When a match is found (or a “hit” occurs), the Physical section
supplies the address of a page in memory, or a pointer to a page table in
physical memory. Virtual address bits A(11:00) from the IU are passed
through unchanged to supply a byte offset. Each hit TLB entry is
automatically checked for memory protection attributes and violations are
reported to the IU as memory exceptions.
If the virtual address from the IU does not match an entry in the TLB, the
MMU automatically performs a search (or table walk) through a translation
table in main memory to obtain an address translation. The translation table
forms a tree structure in the main memory. An example of this is illustrated
in Figure 2-5.
Page Table by software.
The SPARC CPU 2-11
Cache Controller and Memory Management Unit
3124 2318 1712 110
Virtual AddressIndex 1Index 2Index 3Page Offset
Context Table
Pointer
Register
Context Register
Context Table
Level 1 Page
Root Pointer
3512 110
Physical Page NumberPhysical Address
Figure 2-5 A Three Level Table Walk In Memory
The Context Table Pointer register provides a pointer to the context table,
and the context register provides an index to the Root Pointer, which in turn
points to a level 1 page table. Index 1 from the virtual address selects an
entry within Level 1 pointing to a level 2 page table, where Index 2 selects
a pointer to a level 3 table. Index 3 then selects one of the entries in the level
3 table which should point to a 4Kbyte memory page. When a page table
pointer (PTP) is encountered within the tables, the search continues to the
next lower level. If a page table entry (PTE) is found, the search is
terminated and the entry is stored in the TLB. If no PTE is found at all, a
synchronous fault exception is signalled to the IU. The PTE provides a
pointer to a physical page while, in the case of a three level table walk, the
lower 12 bits of the virtual address provides an offset.
Table
PTP
Level 2 Page
Table
PTP
Page Offset
Level 3 Page
Table
PTE
2-12 The SPARC CPU
Cache Controller and Memory Management Unit
The level at which a table walk terminates (that is, a PTE is found) is related
to the size of addressing region associated with the entry. A table walk
which finds a PTE in the context table corresponds to a region of 4Gbytes.
A PTE corresponds to: a 16Mbyte region in level 1; a 256Kbyte region in
level 2; or a 4Kbyte region in level 3. The virtual address bits not used to
index table entries are used to supply the offset address within the page.
A table walk which uses three page table levels is shown in the illustration
in Figure 2-5. In this example A(31:12) from the virtual address are used to
index the page tables, and A(11:0) supply an offset address into the selected
memory page.
Figure 2-6 shows a table walk which terminates at level 2. In this case
A(31:18) are used as index bits, and A(17:0) provide an offset address into
the selected 256 Kbyte page.
3124 2318 170
Virtual AddressIndex 1Index 2Offset
Context Table
Register
Pointer
Context Register
Context Table
Root Pointer
3518 170
Physical Page NumberPhysical Address
Figure 2-6 A Two Level TableWalk In Memory
Level 1 Page
Table
PTP
Level 2 Page
Table
PTE
Byte Offset
The SPARC CPU 2-13
2.5Memory Interface
The SPARC provides a 64-bit memory interface which supports up to
128Mbytes of system memory. The memory is composed of four banks of
up to 32Mbytes each. Different density devices are supported, allowing the
SPARCbook 3 to be fitted with a range of memory size options.
The SPARC’s memory interface provides a 64-bit data bus with 2-bit parity
(1 bit parity for each 32 bit word). The memory interface incorporates a
DRAM refresh controller.
The minimum memory access width is 32 bits; 8-bit and 16-bit write
accesses require read-modify-write operation and correct 32-bit boundary
alignment.
2.6Instruction Cache
The integral instruction cache is a 16Kbyte physically tagged cache. The
instruction cache is organized as 512 lines of 32 bytes each.
2.7Data Cache
Memory Interface
The data cache is a 8Kbyte direct mapped physically tagged write through
cache with no write allocate. It is organized as 512 lines of 16 bytes each.
Data cache read and write hits take no extra pipe cycles, except for
doubleword operations. There are two store buffers which hold data being
stored from the IU or FPU to memory or other physical devices. The store
buffers are 32-bit registers.
2.8SBus Controller
The SPARC incorporates an SBus Controller which provides a master and
slave interface used to access I/O devices. It connects the CPU core directly
to the SBus and allows DMA devices to access the main DRAM located on
the SPARC’s memory bus. The SBus controller provides 32-bit data,
SBD(31:00), and 28-bit physical address, SBA(27:00), interface to other
devices in SPARCbook 3. The SBus controller also provides five SBus
Slave Select lines, SBSEL(4:0).
2-14 The SPARC CPU
SBus Controller
2.8.1Programmed I/O
Programmed I/O transactions consist of an SBus slave cycle only, with
address translations being carried out before bus acquisition. The processor
executes loads and stores to transfer data between it and devices on the
SBus (in I/O Space). The SBus Controller performs write posting during
processor writes, allowing processing to continue while the SBus
transaction is completed. During reads, processing is stalled until the data
becomes valid at the end of the SBus transaction.
2.8.2DVMA
A direct virtual memory access consists of a translation cycle followed by
a slave cycle. During the translation cycle, a master places a virtual address
on the SBus data bus. The SPARC’s MMU provides a translated physical
address on the SBus.
The SPARC CPU 2-15
SBus Controller
2-16 The SPARC CPU
Memory Map and Interrupts3
This chapter describes the addressing architecture
and interrupt architecture of SPARCbook 3.
The SLAVIO incorporates an interrupt controller
and is used to coordinate all on-board interrupts.
These include interrupts from devices on the board
and interrupts from SLAVIO internal source.
33
3.1Address Map
Address Map
The SBus controller contained in the MicroSPARC partitions the
SPARCbook 3’s memory map into a region for the main memory plus five
physical address regions of 256Mbytes each for the SBus. The resulting
memory map of the SPARCbook is shown in Table 3-1.
Address Range
(Hexadecimal)
700000007FFFFFFFSBus Slot 4 MACIO/SLAVIO256
600000006FFFFFFFSBus Slot 3Not allocated256
500000005FFFFFFFSBus Slot 2ISDN Controller256
400000004FFFFFFFSBus Slot 1 TS102 PCMCIA Controller256
300000003FFFFFFFSBus Slot 0 P9100 Graphics Controller256
200000002FFFFFFFUnmapped-256
100000001FFFFFFFI/O MMU Control Space-256
080000000FFFFFFFUnmapped-128
0600000007FFFFFFDRAM Bank 3-32
0400000005FFFFFFDRAM bank 2-32
0200000003FFFFFFDRAM Bank 1-32
0000000001FFFFFFDRAM Bank 0-32
RegionSBus Rsource
Table 3-1 Main Memory Map
3.1.1MACIO and SLAVIO Space (SBus Slot 4)
SBus slot 4 is sub-divided to provide access to the MACIO and SLAVIO.
These two devices are designed to operate as a pair, and each device has a
direct SBus connection.
Size
(Mbytes)
The MACIO device incorporates DMA controllers, an Ethernet controller,
a bi-directional parallel interface, and a SCSI bus controller. The DMA
controllers provide support for the Ethernet, parallel and SCSI interfaces,
including FIFO support, and allow burst transfers to be performed on the
SBus.
Connected to the SLAVIO but isolated from the SBus are the Boot ROM,
the O/S ROMs, the RTC and NVRAM, modem and Audio devices.
The MACIO provides processor accessible control ports for DMA related
operations, for parallel port operations, for SCSI operations and for
network interface control.
Base Address
(Hexadecimal)
7C800000Parallel Port Registers
78C00000Network Controller Registers
78800000SCSI Registers
78400000DMA Control and Test Registers
78000000Internal ID Register
Table 3-3 MACIO Port Locations
Port
The function and access sizes of these locations are discussed in the
relevant chapter for each interface.
The SLAVIO contains a number of internal devices. These are a floppy
controller (not used in SPARCbook 3), two serial controllers (SCCs),
counter/timers and an interrupt controller. The SLAVIO also supports
access to external devices via the EBus.
The internal interface devices each present an independent interface to the
host. Details of these control interfaces are provided in the relevant chapter
for each interface.
Within their assigned spaces in the SLAVIO’s address space, the
RTC/NVRAM and Boot PROM are mapped repeatedly. In the case of the
RTC/NVRAM this means that there are 256 images.
The SLAVIO memory map is shown in Table 3-4.
Memory Map and Interrupts 3-3
Address Map
Offset Range
(Hexadecimal)
1F000001FFFFFFSLAVIO System Controller and Status RegisterWord
1E000001EFFFFFSLAVIO Interrupt ControllerWord
1D000001DFFFFFSLAVIO Counter/TimersWord, Doubleword
1C000001CFFFFFSLAVIO Reserved
1B000001BFFFFFSLAVIO Modem RegisterByte
1A000001AFFFFFSLAVIO Diagnostic Message RegisterByte
190000019FFFFFSLAVIO Auxiliary I/O RegistersByte
180000018FFFFFSLAVIO Configuration RegistersByte
150000017FFFFFSLAVIO Reserved
140000014FFFFFSLAVIO Floppy ControllerByte
138000013FFFFFPaged FLASH O/S ROMByte
1304000137FFFFEchoes of Audio and Auxiliary PortByte
13020001303FFFAuxiliary Control/Status PortByte
13000001301FFFAudio DeviceByte
120400012FFFFFEchoes of RTC/RAM and Diagnostic LEDS Byte, Halfword, Word
12020001203FFFRTC/RAM and Diagnostic LEDsByte, Halfword, Word
12000001201FFFRTC/RAMByte, Halfword, Word
100000011FFFFFSLAVIO Keyboard/Mouse/SerialByte
08000000FFFFFFEcho of Boot and O/S ROMsRead Only, Byte, Halfword, Word
070000007FFFFFO/S ROM 4Read Only, Byte, Halfw ord, Word
060000006FFFFFO/S ROM 3Read Only, Byte, Halfw ord, Word
050000005FFFFFO/S ROM 3Read Only, Byte, Halfw ord, Word
040000004FFFFFO/S ROM 1Read Only, Byte, Halfw ord, Word
010000003FFFFFEchoes of Boot ROMRead Only, Byte, Halfw ord, Word
000000000FFFFFBoot ROMRead Only, Byte, Halfword, Word
ResourceAccessibility
3-4 Memory Map and Interrupts
Table 3-4 SLAVIO Memory Map
Interrupts
3.1.2DRAM
The DRAM address multiplexers support SIMM units with up to 11 x 11 or
(12 x 10) Row/Column multiplex (1Mbit, 4Mbit, and most 16Mbit
devices). Each SIMM module can contain one or two banks of memory.
SIMM sizes up to 64Mbytes are supported, with a maximum of 32Mbytes
per bank.
The memory maps for the different configurations are based on the
principle that the individual bank selects (RAS signals) are derived from
the address decodes for fixed 32Mbyte memory segments.
Table 3-8 summarizes the possible memory implementations when using
identical SIMM pairs.
SIMMs
System
Capacity
16Mbytes22M by 33Two banks of 4MbitAt 0 & 32Mbytes for 8Mbytes each
32Mbytes24M by 33One bank of 16MbitAt 0 for 32Mbytes
64Mbytes28M by 33Two banks of 16MbitAt 0 for 64Mbytes
128 Mbytes216M by 33
Qty Organization*
Architecture of
Each
Address Map
(Where memory appears)
3.2Interrupts
Table 3-5 DRAM Mapping
*Figures in the Organization column can be either by 33 or by 36.
Interrupts from devices within SPARCbook 3 are signaled to the
microSPARC as a 4-bit priority encoded value on S_IRL(3:0). Control of
interrupts and prioritization is carried out by the SLAVIO. The
microSPARC provides a structure of traps which supports fifteen external
interrupts.
The SLAVIO contains interrupt control and mask registers which are used
to enable and clear hardware interrupts from devices within the
SPARCbook 3 system as well as interrupts from devices internal to the
SLAVIO and MACIO. The SLAVIO also provides software generated
interrupts on each of fifteen levels.
Memory Map and Interrupts 3-5
The interrupts in SPARCbook 3 can be considered as belonging to three
categories: SLAVIO interrupts, MACIO interrupts, and SBus interrupts.
The SLAVIO interrupts include those from the internal serial ports and
timers and the software interrupts. The MACIO interrupts include the
Ethernet, SCSI and parallel port interrupts.
Table 3-6 provides a summary of the interrupt request sources within
SPARCbook 3.
The SLAVIO provides a number of interrupts status and control locations.
The processor group provides interrupt pending information and control
over software interrupts. The system group provides enable and clearing
control over the individual hardware interrupt requests.
Processor Group
Address
(Hexadecimal
Device or RegisterAccess
)
71E00000Processor Interrupt PendingR
71E00004Processor Clear PendingW
71E00008Processor Set Software InterruptW
71E10000System Pending Interrupt RegisterR
71E10004System Interrupt Target Mask RegisterR
71E10008System Interrupt Target Mask ClearW
71E1000CSystem Interrupt Target Mask Set W
Table 3-7 Interrupt Control Registers
SOFTINT(15:1)HARDINT(15:1)
3117 16 150001
Processor Interrupt Clear Pseudo-register
SOFTINT(15:1) CLEAR
31
Processor Set Soft Interrupt Pseudo Register
SOFTINT(15:1) SET
31
Figure 3-1 Processor Interrupt Registers
Processor Interrupt Pending Register
IC
171716
15
16
00
00
Memory Map and Interrupts 3-7
System Group
Interrupts
SOFTINT(15:1)
Software Interrupt
HARDINT(15:1)
Hardware Interrupt
ICInterrupt Level 15 Clear
Writing a ‘1’ to any of the SOFTINT bits or IC bit in the Interrupt Clear
pseudo-register clears the associated interrupt.
The Set Soft Int pseudo-register is used to generate software interrupts.
Setting a bit in this register sets the associated bit in the pending register and
triggers an interrupt request on the appropriate level.
Bit 31MA – Mask all Interrupts (reserved in the System Interrupt
Bit 30ME – Module Error
Bit 29Reserved on SPARCbook
Bit 28Reserved on SPARCbook
Bits 27:23Reserved
Bit 22F – Floppy Interrupt
Bit 21Reserved
Bit 20Reserved on SPARCbook
Bit 19T – Level 10 Counter/Timer
Bit 18SC – SCSI Interrupt
3-8 Memory Map and Interrupts
Pending Register)
1= disable all interrupts
NCR89C105 SLAVIO Configuration Control
Bit 17Reserved
Bit 16E – Ethernet Interrupt
Bit 15Bit S – Serial Port Interrupt (SLAVIO)
Bit 14K – Keyboard/Mouse Interrupt
Bits 13:07SBus IRQ (7:1)
Bits 06:00Reserved
3.3NCR89C105 SLAVIO Configuration Control
3.3.1SLAVIO Configuration Register
The NCR89C105 has several software-programmable options which are
controlled by its configuration register. This register is located at
0x70180000.
PDMS
Reserved
76543210
I
Figure 3-3 The SLAVIO Configuration Register
A system reset clears all of the SLAVIO configuration bits to 0.
Field definitions:
Bits 7:5Reserved - always read 0.
Bit 4I - Modem Ring Interrupt Enable. When this bit is set to 1,
the modem RI interrupt generation is activated (see also Bit
1, and the description of the modem register). When this bit
is cleared, modem interrupts are not generated, regardless of
the state of the M bit (Bit 1) or the MSI_IRQ_input.
Bit 3P - Power Fail Detect Enable. When this bit is set to 1, a lo w
on the PFD_input causes a module error (error 15) interrupt.
The interrupt is visible (and clearable) in AuxIO register 2.
When this bit is clear, the PFD_input is ignored.
Memory Map and Interrupts 3-9
NCR89C105 SLAVIO Configuration Control
Bit 2D - Density Select Source (1 = 82077 density select, 0 =
82077 motor enable #2). - This bit determines which signal
drives the external density select pin (FPY_DENSEL).
Bit 1M - Modem Ring Select. When this bit is set to 1, a low on
the MSI_IRQ_input causes a level 15 MSI interrupt. When
this bit is cleared, a transition causes a modem ring indicate
interrupt (SBus level 5). Either a low or high transition can
cause an interrupt in this mode, depending on the Edge
Select bit in the modem register . The unused input is held in
its inactive state.
Bit 0S - SuperSPARC mode (1 = SuperSPARC, 0 =
MicroSPARC-II). This bit determines the function of several
multiplexed input pins (the NCR89C105 unsufficient pins to
support all functions concurrently). The muxed pins are
shown in Table 3-8:
PinmicroSPARC UseSuperSPARC Use
ser_rtxc_bser_rtxc_b_emc_irq_
iu_error_iu_error_video_irq
Table 3-8 microSPARC-II/SuperSPARC Muxed Pins
In microSPARC-II mode, the SuperSPARC interrupts are inactive.
3.3.2Diagnostic Messages
The Diagnostic Message Register is an 8-bit read/write register provided
for diagnostic use. Accesses to this register change the value that is stored
in it.
Figure 3-4 Diagnostic Message Register
Field definitions:
Bits 7:0(D) - Diagnostic value. This value is read/writeable, and is
3-10 Memory Map and Interrupts
D
76543210
preserved across resets.
NCR89C105 SLAVIO Configuration Control
Note
All bits in the Diagnostic Message Register are unaffected by system resetbut
contains random information after a power-on reset.
3.3.3Miscellaneous System Functions
The NCR89C105 contains two 8-bit Auxiliary I/O Registers: one dedicated
to controlling system power-down; and one used to support several
hardware functions that do not fit well elsewhere. These registers are
located at physical addresses 0x7190000 (aux1) and 0x719100000 (Aux 2).
LED/Floppy (Aux 1)Register
D
76543210
Figure 3-5 Auxiliary I/O Register 1
A system reset clears all output bits (Bits 3, 2, 1, and 0) to 0. The
FPY_DENSENSE chip pin controls input bit (Bit 5). The unused bits (Bits
4, 6, and 7) are unaffected by writes, and always read 0.
Bits 7:6Reserved - always read 0.
Bit 5D - Floppy Density Sense (not used).
Bit 4Reserved - always read 0.
Bit 3E - Link Test Enable. This bit is directly reflected in the
LINK_TEST_EN pin. It controls the AT&T 7213 LTE pin.
Bit 2M - Monitor/Mouse Mux. This bit is directly reflected on the
MON_MSE_MUX pin.
Bit 1T - T erminal Count (1 = TC). Writing a 1 to this bit sends a 4
SBus clock wide TC pulse to the 82077 floppy controller.
This bit is self-clearing; it always reads 0. Writing a 0 has no
effect.
Bit 0L (1 = on, 0 = off). - This bit controls the system LED on the
front panel.
EMTL
Memory Map and Interrupts 3-11
NCR89C105 SLAVIO Configuration Control
Power Down Control (Aux 2) Register
D
76543210
CF
Figure 3-6 Auxiliary I/O Register 2
All Bits are cleared to 0 on system reset.
Bits 7:6Reserved. These bits should be masked, and their values
should be discarded by the software. These bits can be read
and written to, but the values have no meaning or effect.
Bit 5D - Power Failure Detect (1 = power fail). When the power
fail detect signal from the power supply is low, this bit is set,
and a module error interrupt is generated (this is a level 15
interrupt). Writing a 1 to Bit 1 of this register, or disabling
PFD in the Config register clears this bit. This bit is also set
if BUFP or PWROK are set to 0.
PFD* input is ignored if Bit 5 is disabled in the Config
register.
Bits 4:2Reserved. These bits should be masked, and their values
should be discarded by the software. These bits can be read
and written to, but the values have no meaning or effect.
Bit 1C - Clear Power Fail Detect (1 = clear). This bit clears the
interrupt generated by PFD_ and Bit 5 of this register.
Writing 0 has no effect.
Bit 0F - Power off (1 = off). This bit is reflected in the power
3-12 Memory Map and Interrupts
output pin. When this bit is set to 1, the power supply turns
off.
NCR89C105 SLAVIO Configuration Control
Modem RegisterThe NCR89C105 can directly support the RI (Ring Indicate) bit output of
a modem, when it is configured for modem use. This mode uses the
MSI_IRQ_ input pin for sensing modem RI. When the Modem mode and
the Modem interrupt are enabled in the Configuration Register, the
NCR89C105 generates an SBus level 5 interrupt on RI transitions.
EIR
76543210
Figure 3-7 Modem Register
A system reset clears Bits 1 and 0 to 0. The input bit 2 is controlled by the
MSI_IRQ_ chip pin. Bits 7:3 are unaffected by resets or writes and always
read as 0.
Bits 7:3Reserved - always read 0.
Bit 2R - RI pin. This pin directly reflects the state of the
MSI_IRQ_ pin (which is used for modem RI when in
Modem mode). If this pin is low, then this bit is 0.
Bit 1E - Edge Select. This bit selects which RI edge causes an
interrupt. When this bit is cleared to 0, a 1 to 0 transition on
the MSI_IRQ_ pin causes an interrupt. Toggling this bit
after the first edge of an RI pulse is received, allows
interrupts to be obtained on both edges of RI.
Bit 0I - Modem RI Interrupt. This bit is set to 1 if a modem RI
interrupt is pending. When this happens, an SBus level 5
interrupt is set. Writing a 0 to this bit clears the interrupt.
Memory Map and Interrupts 3-13
NCR89C105 SLAVIO Configuration Control
3-14 Memory Map and Interrupts
Serial Interface4
44
The SPARCbook is equipped with two Z85C30
Serial Communications Controllers (SCC), both of
which are contained within the SLAVIO. Although
packaged in the SLAVIO, the two SCCs appear to
software to be fully independent devices.
One is a fully functional SCC and one has reduced
functionality being intended for keyboard and
mouse interfacing.
The architecture of the SPARCbook serial interface
is shown in Figure 4-1.
Cha A
Cha B
SBus
Full Function
SCC
Keyboard
Port
Mouse
Port
Sub-set SCC
Figure 4-1 Serial Interface Architecture
RS232
Transceiver
RS232
Transceiver
Serial
Channel A
Serial
Channel B
Keyboard/
Mouse Port
4.1Serial Channel Assignment
There are four serial channels on the SPARCbook, which are controlled by
SCCs within the SLAVIO. Each channel provides a control interface. Serial
Channels A and B are controlled via the Full-Function SCC; the keyboard
and mouse port (which is Sun compatible) is controlled via the sub-set
SCC.
Connector pinout details are provided in Appendix B, “Connector
Information”.
4.1.1Serial Interface Control
Table 4-1 summarizes the addresses of the four serial channels present on
the SPARCbook.
Serial Channel Assignment
Address
(Hexadecimal)
Device Channel
SLAVIO Full-Function SCC
71100000TTYB Control
71100002TTYB Transmit and Receive Buffers
71100004TTY A Control
71100006TTY A Transmit and Receive Buffers
SLAVIO Sub-Set SCC
71000000Mouse Control
71000002Mouse Data
71000004Keyboard Control
71000006Keyboard Data
Table 4-1 Serial Ports Addressing and Assignment
The SCC provides an 8-bit host interface. The SLAVIO internal registers
appear on D(7:0); the data on the remainder of the bus during an SCC
access is undefined.
A detailed programming discussion is beyond the scope of this manual; for
further information, please refer Appendix A, “Further Information”.
Assignment on
SPARCbook
Serial Channel B8-pin mini-DIN
Serial Channel A8-pin mini-DIN
Keyboard/Mouse Port8-pin mini-DIN
Connector
4-2 Serial Interface
SCC Registers
4.2SCC Registers
The SCC internal registers are accessed using a register pointer to perform
selection. First, the register pointer bits in WR0 are programmed to specify
the register to be accessed. Then, a read or a write is performed at the same
address to transfer data into or out of the selected register. When the access
to the selected register has been completed, the register pointer bits are reset
to ‘0’.
Three pointer bits in WR0 allow access to the lower eight registers
locations, but WR0 also contains 3-bit command word (D5:D3) in which
the ‘Point High’ command, 001(bin), is required to gain access to the upper
eight register locations. The receive buffer and transmit buffer, RR8 and
WR8 respectively for each channel can be accessed in a single read or write
operation.
4.2.1Register functions
The Z82530 SCC contains fifteen write registers (WR0 to WR15) for each
channel. WR8 is the transmit buffer and the remainder are used to configure
the SCC for the required operation. Two registers (WR2 and WR9) are
shared by both channels. Each channel also has nine read registers (RR0 to
RR3, RR8, RR10, RR12, RR13 and RR15). RR8 is the receive buffer and
the remainder provide status information.
Table 4-11 shows the full suite of registers present in the external 85C30
SCC and full-function internal SCC. The sub-set SCC does not present the
full set of registers.
RegisterFunction
RR0Transmit and Receive Buffer status, external status
RR1Special receive condition status
RR2A, RR2BUnmodified interrupt vector (Ch A only), Modified interrupt vector (Ch B only)
RR3A, RR3BInterrupt pending bits (Ch A only), Null (Ch B only)
RR8Receive Buffer
RR10Miscellaneous status
RR12Lower byte of baud-rate time constant
RR13Upper byte of baud-rate time constant
Table 4-2 SCC Register Summary
Serial Interface 4-3
RegisterFunction
RR15External/Status interrupt information
WR0CRC initialize, mode initialization, Register Pointer
WR1Transmit and Receive interrupt, data transfer mode definitions
WR2Interrupt vector (CH A and B)
WR3Receive Parameters and controls
WR4Transmit and receive parameters and controls
WR5Transmit parameters and control
WR6Synchronization character or SDLC address field
WR7Synchronization character or SDLC flag
WR8Transmit Buffer
WR9Master Interrupt control and reset (CH A and B)
WR10Miscellaneous controls
WR11Clock mode control
WR12Lower byte of baud-rate time constant
WR13Upper byte of baud-rate time constant
WR14Miscellaneous control
WR15External/Status interrupt control
000 = Null
001 = Point High (reg 8-15 select)
010 = Reset external/status interrupts
011 = Send abort (SDLC mode)
100 = Enable int on next Rx character
101 = Reset Tx interrupt pending
110 = Error reset
111 = Reset highest IUS
Bits 2:0Register 0-7 or 8-15 select
4-4 Serial Interface
SCC Registers
WR1Bit 7 Wait/DMA request enable
WR3 – Receive
Parameters and Control
Bit 6W
Bit 5Wait/DMA request on Rx/Tx
Bit 4:3Receive interrupt control
Bit 2Parity as special condition enable
Bit 1Tx interrupt enable
Bit 0External interrupt enable
Bits 7:6Bits/character
Bit 5Auto enables
Bit 4 Enter hunt mode
Bit 3Receiver CRC enable
Bit 2Address search mode
ait/DMA request
00 = Interrupt disable
01 = Interrupt on first char or special condition
10 = Interrupt on all chars or special condition
11 = Interrupt on special condition only
00 = 5 bits
01 = 7 bits
10 = 6 bits
11 = 8 bits
WR4 – Transmit and
Receive Parameters
and Control
Bit 1Sync character load inhibit
bit 0 Receiver enable
Bits 7:6Clock mode
00 = x1
01 = x16
10 = x32
11 = x64
Bits 5:4Sync Mode
00 = 8-bit sync character
01 = 16-bit sync character
10 = SDLC mode
11 = External sync mode
000 = Null
001 = Enter search mode
010 = Reset missing clock
011 = Disable DPLL
100 = Clock source is BR generator
101 = Clock source is RTXCb
110 = FM mode
111 = NZRI Mode
Bit 4Local loopback
Bit 3Auto echo
Bit 2DTRb/Request function
Bit 1BR generator source
Bit 0BR generator enable
Serial Interface 4-7
SCC Registers
WR15 –
External/Status
Interrupt Control
Bit 7Break/Abort Interrupt enable
Bit 6Tx Underrun/EOM Interrupt enable
Bit 5CTS enable
Bit 4Sync/Hunt enable
Bit 3DCD interrupt enable
Bit 2Reserved (write 0)
Bit 1 Zero count interrupt enable
Bit 0Reserved (write 0)
RR0 – StatusBit 7Break/Abort
Bit 6Transmit underrun/EOM
Bit 5CTS
Bit 4Sync/Hunt
Bit 3DCD
Bit 2Transmit Buffer empty
Bit 1Zero count interrupt enable
Bit 0Receive character available
RR1 – Special Receive
Condition
Bit 7End of frame
Bit 6CRC/Framing error
Bit 5Receive overrun error
Bit 4Parity error
Bit 3Residue Code 0
Bit 2Residue Code 1
Bit 1 Residue Code 2
Bit 0All sent
RR3 – Interrupt PendingRR3 returns zero when read via channel B
Bits 7:600
Bit 5Channel A Rx
Bit 4Channel A Tx
4-8 Serial Interface
SCC Registers
Bit 3Channel A EXT/STAT
Bit 2Channel B Rx
Bit 1Channel B Tx
Bit 0Channel B EXT/STAT
RR10 – Miscellaneous
Status
RR15 – External/Status
Interrupt Status
Bit 7One clock missing
Bit 6Two clocks missing
Bit 4Loop sending
Bit 1On loop
Other bits 0
Bit 7Break/Abort interrupt enable
Bit 6Tx Underrun/EOM interrupt enable
Bit 5CTS interrupt enable
Bit 4Sync/Hunt interrupt enable
Bit 3DCD interrupt enable
Bit 1Zero count interrupt enable
Other bits 0
Serial Interface 4-9
4.3Baud Rate Clocks
A 19.66 MHz clock signal generated by the MACIO is used to derive a
baud rate clock for all of the SCCs. This is divided by four before being fed
to the SCCs at 4.915 MHz. The baud rate can be changed by loading
different time constants (which can be different for each channel) into the
time constant register. The clocking modes 1, 2, 16, 32 and 64 are
supported.
The SCCs can be operated at baud rates of between 75 and 19200. This is
controlled by the clocking mode and the contents of the time constant
register. The value of the time constant can be determined using the
following equation:
For example, to set a baud rate of 9600 using the x16 clocking mode on the
SPARCbook, the following would be used:
Tc
4.915
------------------------------
216×9600×
6
×
10
2–=
This gives a time constant of approximately 14 (0xD).
With the exception of the mouse and keyboard port, the serial channels all
support handshaking. The handshake signals are controlled or monitored
via the write registers and read registers of the associated SCC channel.
4-10 Serial Interface
SCSI Controller5
The MACIO incorporates an enhanced NCR53C90
Fast SCSI Controller (FSC), which supports
SCSI-2 operations at up to 10 Mbytes/sec running
synchronously. SCSI transfers are supported by the
MACIO’s integral DMA controller.
SCSI Connector
(on I/O Panel)
55
Removable
SCSI
Drive
Figure 5-1 SCSI Architecture
SCSI
Bus
MACIO
NCR 53C90
SCSI
Controller
SBus
5.1Connecting SCSI Devices
The SPARCbook provides a 30-pin high density (Hosiden style) connector,
to which you can connect the supplied SCSI adapter cable. This cable
provides a 50-way high density SCSI-2 connector that can be used to make
connection to SCSI devices.
5.2NCR53C9X SCSI Controller
The FSC is a high performance superset of the NCR53C90 ASC and
provides fast SCSI operation with additional commands and an additional
configuration register. Speed of operation is enhanced by the MACIO’s
integral DMA controller.
The FSC provides full support of ANSI X3.131 SCSI and SCSI-2 standard.
5.2.153C9X register set
The SCSI controller internal registers appear from base address
0x78800000. Table 5-1 shows the address offset of the SCSI internal
registers.
Connecting SCSI Devices
5-2 SCSI Controller
AddressRegisterAccess
0x78800000Transfer Count Low RegisterR/W
0x78800004
0x78800008
0x7880000C
0x78800010
0x78800014
0x78800018
0x7880001C
0x78800020
Transfer Count Mid RegisterR/W
FIFO Data Port RegisterR/W
Command Port RegisterR/W
Status Port RegisterR
Select / Reconnect Bus ID registerW
Interrupt Status RegisterR
Select / Reconnect Timeout RegisterW
Sequence Step RegisterR
Sync Period RegisterW
FIFO Flags RegisterR
Sync Offset registerW
Configuration 1 RegisterR/W
Table 5-1 FSC Register Set
NCR53C9X SCSI Controller
AddressRegisterAccess
0x788000
24
0x78800028
0x7880002C
0x78800030
0x78800038
Clock Conversion RegisterW
Test ModeW
Configuration 2 RegisterR/W
Configuration 3 RegisterR/W
Transfer Counter High RegisterR/W
Table 5-1 FSC Register Set (Continued)
There follows a brief description of the FSC registers. A detailed
programming description of the device is beyond the scope of this manual
and the user should refer to the bibliography at the rear of this document.
Command RegisterThe Command Register is a double-buffered register that allows two
commands to be written to the FSC consecutively. Bit 7 controls the
enabling of DMA operations and bits 6:0 provide a command code. Within
the command code, bits 6:4 control the operating mode, of which only one
can be selected at any time.
Bit 7 Enable DMA
0 = DMA Mode Disabled
1 = DMA Mode Enabled
Bit 6:4 Select Mode, see Table 5-2
An interrupt is generated if an invalid mode for the FSC is specified by bits
6:4, or if the command is not supported. Table 5-2 shows the commands
selectable using bits 6:0.
Status RegisterThe Status register contains the device and interrupt status flags. The Status
register should always be read prior to reading the Interrupt Status register
which will cause bits to clear. The Status register contains Error, Transfer
count and SCSI phase information.
Bit 7Interrupt
0 = No interrupt pending
1 = Interrupt pending
Bit 6Gross Error
This bit is set if the top of the FIFO is overwritten; if the top
of the command register is overwritten; if the direction of
DMA and SCSI transfer are in opposition; or if there is an
unexpected phase change in initiator role during a
synchronous data phase.
Bit 5Parity Error
Bit 4Terminal Count
Bit 3Valid Group Code
Bits 2:0SCSI Phase
000 = Data Out
001 = Data In
010 = Command
011 = Status
100 = Reserved
101 = Reserved
110 = Message Out
111 = Message In
Interrupt Status
Register
This register can be used in conjunction with the Status and Sequence Step
register to determine the cause of an interrupt. It includes bits to indicate
SCSI bus reset, disconnect, bus service request, function complete and
selected states.
Bit 7SCSI Bus
Bit 6Illegal Command
Bit 5Disconnect
Bit 4Bus Service
Bit 3Function Complete
Bit 2Reselected
SCSI Controller 5-5
Bit 1Selected with ATN
Bit 0Selected
NCR53C9X SCSI Controller
Configuration
Registers
The CON1, CON2 and CON3 registers allow various operating modes to
be set up. CON1 is used to control the slow cable mode, parity enable and
test, and the 3-bit SCSI host ID. CON2 provides control of the Tagged
queuing, group 2 command and parity control facilities provided by the
53C90A.
Transfer Count
Registers
These combine into a 24-bit counter used by a DMA command, and by the
Command Sequencer to count the decoded length of a received SCSI
command.
FIFO / Flags RegisterThe FIFO is a 16 byte deep buffer between the SCSI bus and the system
memory accessible to the host via the FIFO Register.
The FIFO Flags register is a read only register which indicates the number
of bytes remaining in the FIFO.
Select / Reconnect
Register
Clock Conversion
Factor Register
This is a 3-bit wide write only register used to specify the destination SCSI
bus ID for a select or reselect command.
This register specifies the clock conversion factor allowing the FSC to be
clocked at different speeds. On the SPARCbook 3, the FSC is clocked at 40
MHz and this register should be loaded with the value 0x00.
Select / Reconnect
This register specifies the time period to wait for a select / reselect response.
Timeout Register
Synchronous T ransfer
Period Register
Sequence Step
Register
5-6 SCSI Controller
The Transfer Period register is a 5-bit write-only register that specifies the
minimum time between leading edges of successive REQ or ACK pulses.
The default time is 5 clock cycles, the maximum is 35 cycles.
This provides an incrementing 3-bit sequence count to indicate which steps
of a command sequence have been executed prior to an error or interrupt
condition.
DMA Support
5.3DMA Support
5.3.1DMA Transfers
5.3.2DMA Registers
The SCSI controller is provided with DMA support by one channel of the
MACIO integral DMA controller. Between the FSC and Sbus the MACIO
provides a 64-byte deep FIFO (D-FIFO) which is bypassed by CPU
accesses to the FSC’s registers.
A transfer from SCSI to memory is carried out in two phases. First from the
SCSI controller to the DMA controller, and then from the DMA controller
to memory. Similarly, transfers from memory to SCSI are composed of a
transfer into the D-FIFO, and then a transfer between the D-FIFO and SCSI
controller.
Data from the SCSI is written into the D-FIFO until the largest possible
Sbus burst write, as specified in the DMA Controller’s Control and Status
register, to memory can be carried out.
The DMA controller provides four 32-bit registers used to control DMA
operations with the FSC.
5.3.3SCSI Interrupts
AddressRegisterSizeAccess
0x78400000Control and Status Register32R/W
0x78400004Address Register32R/W
0x78400008Byte Count Register24R/W
0x7840000CTest Control and Status Register32R/W
Table 5-3 SCSI Related DMA Registers
The SCSI controller signals interrupts to the CPU via the SLAVIO
multifunction peripheral on level 4. The interrupt service routine can
establish the cause of the interrupt by examining the contents of first the
status register, and then the interrupt status register.
SCSI Controller 5-7
DMA Support
5-8 SCSI Controller
Ethernet Interface6
The Ethernet interface on the SPARCbook is
provided by an NCR92C990 integrated into the
MACIO. This provides AUI connections via a
15-pin D-shell connector. The MACIO enhances
Ethernet operations by providing DMA support.
AUI
AT&T
T7213
Interface Adapter
MACIO
NCR 92C990
LAN Controller
66
Sbus
Figure 6-1 Network Interface Architecture
6.1NCR92C990 Overview
The NCR92C990 is a LAN controller which supports the parameters for an
IEEE 802.3 network interface.
6.1.1Bus Interface
The LAN controller operates as a bus master or a bus slave device.
As a slave, it provides a 16-bit control interface on the SBus with two
register locations. The CPU accesses the registers during system
initialization, and in response to interrupts. Additional registers in the
MACIO’s DMA controller provide enhanced support for programming
DMA operations.
As a master, it operates independently using DMA operations to transfer
data between the network and data structures in memory. The LAN
controller incorporates two independent 48-byte FIFOs; one for transmit
operations, and one for receive operations.
6.1.2LAN Interface
The NCR92C990 supports error reporting for diagnostics, addressing,
collision, jabbering, framing, underflow and overflow. It allows internal
and external loopback modes to be configured via the control registers.
NCR92C990 Overview
Physical, logical and promiscuous addressing modes are supported.
Packets can be received containing the full 48-bit destination address for
matching against a physical address programmed during initialization. The
LAN controller will also allow the programming of 64 logical addresses for
matching with an incoming packet’s address header. In the promiscuous
mode, all incoming error free packets are accepted and stored in memory.
6.1.3Descriptor Management
Buffer management for the LAN controller is handled by a recurrent list of
assignments in memory called descriptor rings. There are separate
descriptor rings for transmit and receive operations. The decriptor rings are
searched to determine the location of the next empty buffer. After a buffer
is filled, the OWN bit in the corresponding descriptor is set. When the
controller detects that the OWN bit is set in a descriptor, it uses the ring
buffer pointer in that descriptor to locate the next data buffer.
6-2 Ethernet Interface
LAN Controller Registers
6.2LAN Controller Registers
Access to the LAN controller’s internal registers is gained via two 16-bit
locations, the Register Data Port (RDP) and Register Address Port (RAP).
The RAP is loaded with an index to the required register, and then the
register data can be read from or written to the RDP.
AddressRegisterSizeAccess
0x78C00000Register Data Port (RDP)16-bitR/W
0x78C00002Register Address Port (RAP)16-bitR/W
Table 6-1 LAN Controller Register Locations
6.2.1Register Indexing
The lower 2 bits in the Register Address Port are used to index the internal
Control and Status Registers. The remaining bits, D(15:2) are reserved. The
encoding of D(1:0) is shown in Table 6-2.
Bit 1Bit 0Register
00Control and Status Register 0
01Control and Status Register 1
10Control and Status Register 2
11Control and Status Register 3
6.2.2Control and Status Register 0
This register contains control, status, error and interrupt information.
15
ERR BAB CE MISS ME RINT TINT IFIN IEN
Figure 6-2 Control and Status Register 0
Table 6-2 Register Indexing
0
RON TON TD STP STR INIT
Ethernet Interface 6-3
LAN Controller Registers
ERRError – a logical “OR” of BAB, CE, MISS and ME
BABBabble – Transmitter timeout error
CECollision Error
MISSMissed Packet
MEMemory Error – LAN controller unable to access memory
as bus master.
RINTReceiver Interrupt – set when a packet is received, or if a
receive error has occurred.
TINTTransmit Error – set when a transmission is completed or
due to a transmit error.
IFINInitialization Finished
INTInterrupt Pending
IENInterrupt Enable – when set, interrupt requests are enabled.
RONReceiver On – receiver has been enabled
TONTransmitter On – transmitter has been enabled
TDTransmit Demand
STPStop – setting this bit causes the LAN controller to cease
network activity. This bit must also be set to allow access to
the other Control and Status registers. STP is reset by INIT
or STR
STRStart – setting this bit enables the transmitter and receiver
and buffer management parts of the LAN controller. It also
clears the STP bit.
INITInitialize – setting this bit causes the LAN controller to
begin an initialization process.
6.2.3Control and Status Register 1 and 2
These two registers combine to provide the 24 bit address of the
initialization block. CRS1 contains the low order 16 bits, and CSR2
contains the upper 8 bits. The initialization block should always be aligned
on a word boundary; i.e. bit 0 of CSR1 should contain 0.
6-4 Ethernet Interface
DMA Support for Network Operations
15
Initialization Block Address (15:1)
15
Reserved
Initialization Block Address (23:16)
Figure 6-3 Control and Status Registers 1 and 2
6.2.4Control and Status Register 3
This register is used to set the LAN controller operating parameters to suit
its hardware environment. It is programmed by the resident firmware
during system start-up and should not be changed.
6.3DMA Support for Network Operations
The MACIO’s DMA core provides additional registers for controlling
network related DMA operations. Between the network interface and Sbus
interface, there is a 2 line 8 word/line cache with consistency control logic.
Each byte in the cache has an associated valid/dirty bit, and each line has a
bit which determines the meaning of the valid/dirty bit for that line. These
bits can be accessed in the Ethernet cache Valid Register.
0
1
0
0
Table 6-3 shows the DMA registers for network operations.
AddressRegisterSizeAccess
0x784000010Ethernet Control and Status Register32R/W
0x784000014Ethernet Test Control Registers32R/W
0x784000018Cache Valid Bits32R/W
0x78400001CEthernet Base Address Register8R/W
Table 6-3 DMA Registers for Network Operations
The selection between 10Base5, 10Base2 and 10BaseT is determined by a
bit port within the MACIO. However, OpenBoot automatically selects
between the interfaces.
Ethernet Interface 6-5
DMA Support for Network Operations
6-6 Ethernet Interface
PCMCIA Interface7
The PCMCIA inteface is controlled by a custom
designed ASIC (application specific integrated
circuit), the TS102. The TS102 provides support for
two PCMCIA cards and, in addition, an interface
between the CPU and microcontroller subsystem
which provides battery management, keybaord and
mouse interfacing, and initial power sequencing
control. The TS102 also provides interfaces for an
external keyboard and mouse, but these are not used
in the SPARCbook 3 application.
PCMCIA
µController
77
TS102
SBus
Figure 7-1 PCMCIA Interface Architecture
7.1TS102 Architecture Overview
The general architecture of the TS102 ASIC is illustrated in Figure 8-5.
TS102 Architecture Overview
7.1.1SBus interface
Bus Sizing
and FIFO
SBus
Interface
Registers
Keybord
Port
Mouse
Port
Card A
Interface
Card B
Interface
µController
Interface
Figure 7-2 TS102 Architecture
The TS102 provides an IEEE-P1496 compliant 32-bit slave interface, with
separate address spaces for PCMCIA memory accesses and for register
accesses. This feature allows user processes access to the PCMCIA
memory resources while restricting access to key systems resources, such
as the microcontroller communications link.
7-2 PCMCIA Interface
The TS102 slave interface supports all SBus transfer sizes up to 8-word
transfers, but not 16-word and extended transfer modes. The TS102
performs the required number of accesses to the PCMCIA interface to
fulfill any request. For example, if the controller requests a 32-bit (word)
access, and the card installed is 16 bit, then the TS102 performs two
accesses.
The TS102 supports posted writes to PCMCIA cards of up 8 words. Such
posted completed by the TS102 after the transfer has been acknowledged
on the SBus. Until the write is complete, further accesses to the TS102
rerun by the TS102.
TS102 Architecture Overview
The TS102 also features a read-ahead capability. Setting the read-ahead bit
in the TS102 card register causes the TS102 to pre-fetch an additional 8
words a of data after each 8 word read from the card, starting from the
address used in the last transfer. The address used for subsequent PCMCIA
I/O cycles as a result of a single SBus transaction may be static or
incrementing.
The TS102 supplies a single interrupt request to the CPU. This interrupt
request combines requests from the PCMCIA card interface and the
microcontroller interface. Status registers allow the CPU to determine the
source of the interrupt.
7.1.2PCMCIA interface
The SPARCbook 3 complies to PCMCIA standards which define the
mechanical and electrical specifications for a wide range of removable
memory and I/O cards. However, there is no provision in the PCMCIA
specification for a DMA master on a PCMCIA card.
The PCMCIA interface supports three memory spaces. These are common
memory space, attribute memory space and I/O space. Common memory
space is intended for simple read-write data memory; attribute memory
typically contains the card configuration registers; and I/O space is used by
I/O cards, such as network interface and modem cards.
The transfer cycle time is either fixed, for release 1.0 compatible cards, or
is determined by the card itself via a WAIT line, for release 2.0 compatible
cards. All card types and slots default to a common memory configuration
at power up or following removal of a card. When a card is installed, the
host interrogates the card through attribute memory to determine whether
any I/O pin functions need to be redefined or whether card operating or
programming voltages require adjustment.
A number of PCMCIA cards request low power 3.3 Volts operation via
their attribute memory data, or request two different programming voltages
for use by programmable memory. The TS102 provides bit-ports, which are
used to select the appropiate voltages, as required. However, because some
signals are shared between the two PCMCIA cards, it is not possible to
operate one card at 3.3V while simultaneously operating the other card at
5V.
7.1.3Microcontroller interface
A simple 8-bit parallel read-write port supports communications with the
microcontroller subsystem. The CPU writes commands to a transmit
register. The act of writing sets a busy bit in the microcontroller parallel
PCMCIA Interface 7-3
port status register, and also asserts an interrupt request to the
microcontroller. The microcontroller read of the receive register clears the
CPU write busy bit and the interrupt request.
There is a similar protocol for transfers from the microcontroller to the
CPU. For improved performance, there is a four entry FIFO in each
direction, which allows posted write cycles to be performed.
7.2TS102 Memory Mapping
The TS102 occupies a 256 Mbyte region of the SPARCbook 3’s address
space. Its internal memory map is summarized in Table 8-4.
AddressResource
0x40000000 - 0x41FFFFFFFCode PROM
0x42000000 - 0x43FFFFFFTS102 registers
0x44000000 - 0x44FFFFFFAttribute space, card A
0x45000000 - 0x45FFFFFFAttribute space, card B
0x46000000 - 0x46FFFFFFI/O space, card A
0x47000000 - 0x47FFFFFFI/O space, card B
0x48000000 - 0x4BFFFFFFCommon memory space, card A
0x4C000000- 0x4FFFFFFFCommon memory space, card B
TS102 Memory Mapping
7.2.1Acceses to PCMCIA Resources
The low order SBus address lines S_A(25:0) are passed directly through to
PCM_A(25:0), permitting access to the full 64Mbyte of common memory
address space. For attribute memory and I/O space, PCM_A(25:24) are
driven from paging bits in the TS102’s register set.
The TS102 accepts byte, halfword, word, doubleword, quadword, and
octalword transfer requests, and responds with error acknowledgment on
request for other sizes.
The TS102 detects the WAIT signal from any card that drives it. This can
be used to extend the transfer cycle on memory and I/O accesses. The wait
can be asserted for up to 12µs which is longer than the maximum 255 SBus
clocks (10.2µs @ 25MHz) allowed for an SBus transfer. If a PCMCIA card
7-4 PCMCIA Interface
Table 7-1 TS102 Address map
TS102 Memory Mapping
7.2.2Byte Swapping
asserts its WAIT signal, the TS102 slave interface responds with a retry
acknowledgment to the master, and then continues with the PCMCIA
transfer cycle.
Similarly, burst accesses to slow PCMCIA cards can cause a single burst
access to take longer than 10µs, and in these cases the TS102 responds with
a retry acknowledgment. The TS102 checks subsequent cycles by
comparing the address, size and direction to ensure that the new cycle is the
retried cycle, and not a new and different cycle. Any other new cycle
attempted to the PCMCIA slave interface must be rerun as it cannot be
attempted until after the retried PCMCIA cycle is complete.
The TS102 supports programmable byte-swapping, to allow the use of big
or little-endian PCMCIA cards. The two PCMCIA card interfaces in the
TS102 have individually programmable byte swapping, although it is not
advisable to program the two differently.
Four byte-swapping modes are implemented in the data routing block of the
TS102, of which three are are of interest here. They are dependent upon the
transfer size, and the two status bits per card indicating the byte ordering
mode. One status bit provides endian control for the normally big-endian
SBus interface, and the other status bit provides endian control for the
PCMCIA card. The details of these modes are shown in theTable 7-2. Data
on the left is the SBus data, and data on the right is the PCMCIA data.
Accesses to the I/O and attribute spaces are handled differently. The
attribute space is byte wide and only even addressed bytes exist, while
accesses to I/O space must be treated as bytes unless the I/O card responds
PCMCIA Interface 7-5
with an IOIS16* acknowledgement. The TS102 monitors the IOIS16*
signal during I/O accesses in order to decide how many PCMCIA accesses
to perform for a given master cycle.
7.2.3SLAVIO expansion interface
The SLAVIO controls access to the boot EPROM and parallel port. It also
has an expansion bus that allows additional I/O devices to be added. This
expansion bus consists of an 8-bit data path, controlled by the SLAVIO,
and a 20-bit address bus. To support posted write cycles, this address bus
requires an external address latch . This latch is implemented in the TS102.
The expansion bus has a single “generic” chip select. The TS102 uses this,
together with some high order address lines, to select the boot PROM, or
and modem controller. There are three additional selects but these are not
used in the SPARCbook 3. The address map of the decode is shown Table
7-3.
A[19:17]Select
0 x xBoot ROM
1 0 0Spare
1 0 1Modem
1 1 0Interrupt register
1 1 1Spare
TS102 Memory Mapping
7-6 PCMCIA Interface
Table 7-3 Generic Chip Select Decoding
The boot PROM is placed on the expansion bus because the SLAVIO only
permits read accesses to the EPROM in its conventional location. However,
because the boot PROM is a FLASH device, it is necessary to have write
access to it so that can be reprogrammed in circuit. The TS102 takes the
normal boot PROM select from the SLAVIO and ORs this with the decode
of the generic select to produce a composite PROM select.
The FLASH device implements a software write protection to enhance with
a hardware protection mechanism, in which the TS102 only generates a
boot PROM select for a write cycle if the microcontroller has enabled
EPROM write cycles in a command register in the TS102.
Generation of the boot PROM selects by the TS102 also allows the
implementation of a boot PROM redirection facility. When in operation,
the mechanism inhibits generation of an PROM select and passes the
memory access to the PCMCIA card in slot A. Thus the CPU reads code
from the PCMCIA memory instead of the boot EPROM. This feature is
TS102 Registers
intended primarily for recovery from accidental erasure of the boot PROM
contents, but may also be used for such applications as field diagnostics, or
even OS upgrades.
It is also necessary to inhibit the generation of the SBus select to the
SLAVIO device when boot redirection is used, in order to prevent the
SLAVIO from from responding to accesses that are intended for the
PCMCIA interface, while still allowing access to all other SLAVIO
resources. When redirection is selected, the TS102 inhibits the SLAVIO
select if a decode of the SBus physical address indicates that the SLAVIO
would normally direct the cycle to the boot PROM.
7.3TS102 Registers
There are two separate register blocks within the TS102. The first gives
access to PCMCIA card specific resources, and the second gives access to
the microcontroller interface. Table 7-4 summarizes the TS102’2 register
address map.
0x42000000Card A Interrupt Register
0x42000004Card A Status Register
0x42000008Card A Control Register
0x4200000CNot used
0x42000010Card B Interrupt Register
0x42000014Card B Status Register
0x42000018Card B Control Register
0x4200001CNot used
0x42000020Microcontroller Interrupt Register
0x42000024Microcontroller Data Register
0x42000028Microcontroller Status Register
0x4200002C - 0x4200003CNot used
AddressFunction
Table 7-4 CPU Register Address Map
All registers are 16 bits wide and are can be read or written.
PCMCIA Interface 7-7
The PCMCIA specification relies on software negotiation between the host
system and each card to configure the hardware interface. As a result of this
negotiation, some signals on the PCMCIA interface can, if required, be
redefined. This is handled via the TS102 register interface.
7.3.1Card A and B interrupt registers
There is one 16 -bit interrupt register for each card. Each register contains
an interrupt status (read) and clear (write) bits and an interrupt mask bit for
each of four interrupt sources.
The request bit is the logical AND of the status and the mask bit, and
indicates that an interrupt is being requested. The mask bits allow masking
of individual interrupts. An interrupt is enabled when the mask is set to 1
and is cleared by writing a 1 to the associated clear bit.
The card interrupt registers also contain the soft reset flag. Setting this bit
to 1 will cause the SPARCbook 3 to be reset.
Bit ReadWrite
0IRQ request Clear IRQ request
1WP status changed request Clear WP status changed request
2Battery status changed requestClear Battery status changed
3Card detect status changed
request
4IRQ statusNot used
5WP status changed statusNot used
6Battery/card status changed statusNot used
7Card detect status changed statusNot used
8IRQ maskIRQ mask
9WP status maskWP status mask
10Battery/card status maskBattery status mask
11Card detect status maskCard detect status mask
12Soft resetSoft reset
13Not usedNot used
14Not usedNot used
15Not usedNot used
TS102 Registers
Clear card detect status changed
7-8 PCMCIA Interface
Table 7-5 Card Interrupt Register
TS102 Registers
I/O cards replace the two battery voltage signals with card status changed
and audio waveform input signals. In this case the battery status changed
interrupt becomes a card status changed interrupt, and the card status must
then be read from the card.
7.3.2Card status register
The card status register contains card status and control bits.
Bit NameFunctionAssertedReset
0PRESCard is present10
1IOCard is memory or I/O10
2TYP3Card is type 3 (disk)10
3VccVcc voltage control0
5:4Vpp1[1:0]Vpp1 voltage control00
7:6Vpp2[1:0]Vpp2 voltage control00
8WPWrite protect status10
10:9BVD[1:0]Battery voltage detect
11LVLCard IRQ interrupt level/edge
Accesses to the card are enabled when this bit is set (1)
Bit 14RIEN – Ring Indicator Enable.This is no longer supported.
Bit 13VccEN – Vcc enable. When this bit is cleared (0) power is
enabled to the card.
Bit 12RDY – Card ready/not busy status. This bit indicates the
status of the card RDY/BSY* signal. Note that this signal
becomes IREQ* on I/O cards, and the RDY/BSY* status
may be available in the card pin replacement register, if this
bit is implemented in it. Since the RDY/BSY* signal and
IREQ* are one and the same, it is possible to generate an
interrupt on BSY* becoming asserted, since the interrupt
PCMCIA Interface 7-9
TS102 Registers
request is not automatically masked when the card is not
I/O. The interrupt request should normally be explicitly
masked when the card is not I/O using the interurpt mask bit
in the card interrupt register.
Bit 11LVL – IRQ Leve/Edge Control. This bit controls whether
the card IRQ input is edge or level sensitive. By default it is
edge sensitive.
0 = edge sensitive
1 = level sensitive
Bits 10:9BVD(1:0) – Battery Voltage Detect. These bits indicate the
status of the card battery voltage detect bit. These are not
valid for an I/O card, and the battery voltage status may be
read from the card pin replacement register, if these bits are
implemented in the card.
00 = battery low, data suspect
01 = battery low, data suspect
10 = battery low, data OK
11 = battery good
Bit 8WP – Write Protect. The WP bit indicates that the card is
write protected, as the card has its WP signal asserted.
7-10 PCMCIA Interface
Bits 7:6Vpp2(1:0) – Programming Voltage Control
Bits 5:4Vpp1(1:0) – Programming Voltage Control. The Vpp1 and
Vpp2 bits control the Vpp1 and Vpp2 voltages, and allow
them to be set to:
11SBLESBus little endian101 indicates SBus operation in ‘lit-
tle’ endian mode
12PCMBEPCMCIA big endian101 indicates PCMCIA interface
should be ‘big’ endian
13RAHDRead ahead enable10Set to 1 to enable read-ahead
14INCDISAddress increment disable10Set to 1 to disable PCMCIA
address incrementing in I/O
PCMCIA accesses from SBus
15PWRDPower down10Set to 1 to power down
Table 7-7 Card Control Register
PCMCIA Interface 7-11
7.3.4Microcontroller Interrupt Register
BitNameFunctionAssertedReset
0TXE_REQTransmit FIFO empty inter-
rupt request
1TXNF_REQ Transmit FIFO not full inter-
rupt request
2RXNE_REQ Receive FIFO not empty
interrupt request
3RXO_REQReceive FIFO overflow inter-
rupt request
4TXE_MSKTransmit FIFO empty mask10
5TXNF_MSK Transmit FIFO not full mask10
6RXNE_MSK Receive FIFO not empty
mask
7RXO_MSKReceive FIFO full mask10
Table 7-8 Microcontroller Interrupt Register
7.3.5Microcontroller data register
Microcontroller Registers
10
10
10
10
10
BitReadWrite
D[7:0]Data from microcontrollerData to microcontroller
7.3.6Microcontroller status register
BitNameFunctionAssertedReset
0TXE_STATransmit FIFO empty status11
1TXNF_STATransmit FIFO not full status11
2RXNE_STAReceive FIFO not empty sta-
3RXO_STAReceive FIFO overflow status10
Table 7-10 Microcontroller Status Register
7.4Microcontroller Registers
7-12 PCMCIA Interface
Table 7-9 CPU Data Register
10
tus
Microcontroller Registers
The microcontroller has access to TS102 registers within its own address
space. The content of these registers and protocols for use are under the
control of software programmed into the microcontroller’s onboard ROM
during system manufacture.
The registers within the microcontroller’s address space are shown in the
table below.
AddressFunction
0x00Host data register
0x01Host interrupt register
0x02Host status register
0x03Not used
0x04Command register
0x05-0x07Not used
0x08Keyboard data register
0x09Keyboard interrupt status register
0x0AKeyboard status/control register
0x0BNot used
0x0CMouse data register
0x0DMouse interrupt status/control register
0x0EMouse status register
0x0F Not used
Table 7-11 Microcontroller register set
PCMCIA Interface 7-13
Microcontroller Registers
7-14 PCMCIA Interface
ISDN and 16-bit Audio8
The ISDN and 16-bit Audio interfaces on the
SPARCbook 3 are provided by a pair of coupled
components: the AT&T T7259 Dual Basic Rate
ISDN Controller (DBRI); and the Crystal
Semiconductor Corporation CS4215 Multimedia
Audio Coder-Decoder (CODEC). These provide a
terminal endpoint (TE) ISDN interface at the S/T
reference point, and also high quality stereo audio.
The architecture of the ISDN and audio interface is
illustrated in Figure 8-1.
88
ISDN
DBRI Chip
Concentration
Highway
Interface
Stereo Line-In
Mono Microphone
Figure 8-1 ISDN and Audio Interface
Audio
CODEC
ISDN
Terminal
Endpoint
Protection
Stereo Line-Out
Stereo Headphones
ISDN
I/O Panel
Connector
8.1ISDN Overview
The integrated services digital network (ISDN) is an advanced telephone
system which allows computers to communicate together at a higher data
rate than they could using a modem. Information carried on the ISDN is
digital and uses a circuit switched system at a basic rate of 64 KB/s on each
of two bearer channels, or B channels, and 16 KB/s on a signaling and
control channel, or D channel. The B channels can be combined to provide
a maximum throughput of 128 KB/s.
The ISDN interface on SPARCbook 3 provides a 4-wire terminal endpoint
(TE) connection via an RJ45 connector on the I/O panel, providing transmit
and receive differential signal pairs. This is connected to the ISDN at the S
(or S/T) interface point. Signals at the S point are then converted by an
adapter called a network termination (NT1) to use the more common two
wire telephone connection for which most premises are currently wired.
The connection can be point to point between an NT1 and TE or multipoint,
with up to eight TE devices attached to a single NT1. These eight devices
may share a single ISDN line to achieve virtually simultaneous operation.
Time division multiplexing is employed to superimpose both B channels
and D channel together onto a differential wire pair. The data carried on the
B channels is arbitrary and could contain digitized voice and picture
information, or raw computer data. A collision detection and backoff
strategy allows multiple TEs to share the D channel for control and
signaling functions.
ISDN Overview
Basic rate ISDN uses a 48-bit frame and defines several time slots within
the frame. Among these are the D channel and two B channels. There are
additional bits of information which are required by the physical layer
electronic circuits to support the framing, synchronization and multipoint
capabilities of ISDN.
8.2DBRI Overview
The the AT&T T7259 Dual Basic Rate ISDN Controller (DBRI) functions
as a multiport tap into an ISDN line and has four ports through which data
is passed. In addition to the synchronous serial TE port, there is an NT port
(not used in SPARCbook 3), a serial Concentration Highway Interface
(CHI) port, and the 32-bit SBus DMA port. In general, the DBRI is a digital
data transport, formatter and multiplexer that dynamically routes bits
within time slots between ports.
8-2 ISDN and 16-bit Audio
DBRI Overview
SBus
Interface
Figure 8-2 DBRI Internal Architecture
8.2.1TE and NT Ports
The TE port provides the basic network connection to the ISDN. The NT
port is not used in SPARCbook 3.
An internal FIFO buffer is used as a pipe to hold data transfering between
interfaces. Data is moved between the various ports by assigning pipes and
time slots to connect them. The D channel input and output streams use the
High Data Level Link Control (HDLC) protocol, as required by ISDN.
Once a connection is made through a pipe, little or no service is required to
maintain it other than to manage buffer pools of data received and for
transmission.
8.2.2CHI Port
The CHI port is used to connect the audio CODEC. It provides a
synchronous serial link which is used to transfer frames of audio data
between the DBRI and audio CODEC. The CHI uses four wires to
communicate: the data transport clock (CHIK); a frame synchronization
pulse (CHIFS); a data transmit data wire; and a receive data wire. Data
frames exchanged between the two devices contain digital audio or control
information. Specific time slots within each frame are assigned to carry
particular types of data.
NT
TE
CHI
8.2.3SBus Interface
The 32-bit bus port is a fully compliant SBus DMA master that supports up
to 64-byte DMA bursts. Up to sixteen pipes, each 80 bytes long, can be used
to support DMA operations.
ISDN and 16-bit Audio 8-3
8.2.4DBRI Programming Model
This section gives a brief overview of the DBRI programming interface. It
is not, however, intended to provide a detailed programming guide.
The DBRI operates as a coprocessor, maintaining its own data structures in
memory and operating on its own instruction set. The host assembles lists
of instructions, services interrupts and maintains receive and transmit data
buffers in main memory. The DBRI accesses memory using DMA
operations.
The DBRI can be configured to select time slots and route selected data
between the three serial interfaces and the SBus. It can be dynamically
reconfigured to provide different routing strategies for different operations.
For example, audio data carried on one B channel from the TE interface
could be routed through the CHI for audio output, while data on the other
B channel could be routed to the SBus interface for DMA into main
memory. Figure 8-3 shows this configuration
B1 Slots
DBRI Overview
Long Pipe
Short Pipe
B2 Slots
From TE
DMA to Memory
To CHI for Audio Output
Figure 8-3 Long and Short Pipes
Data PipesThe DBRI provides 32 data pipes through which data is channelled
between the interfaces. These are divided into two types: sixteen long data
pipes, so called because they have enough depth to buffer data for DMA (80
bytes); and sixteen short data pipes of 32 bits each. The long data pipes can
be used for DMA with optional HDLC formatting in either direction. The
short data pipes are used for data transfer between two serial interfaces
(CHI, NT, and TE) and can have time slots assigned to both ends.
8-4 ISDN and 16-bit Audio
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.