Page 1
I/O module (KFTIA) that supports PCI bus, XMI, and Futurebus+ adapters. All other nodes can be interchangeably configured for CPU or mem- ory modules. The AlphaServer 8200 can be configured with up to three CPU modules, three memory modules, and three I/O modules.
Page 2
The following are trademarks of Digital Equipment Corporation: AlphaGeneration, AlphaServer, DEC, DECchip, DEC LANcontroller, OpenVMS, StorageWorks, VAX, the AlphaGeneration logo, and the DIGITAL logo. OSF/1 is a registered trademark of the Open Software Foundation, Inc. Prestoserve is a trademark of Legato Systems, Inc.
Page 10
DDR0:3—Data Diagnostic Registers ..............7-106 I/O Port-Specific Registers ..................7-109 RMRR0-1—Memory Channel Range Registers ..........7-110 ICCMSR—I/O Control Chip Mode Select Register ........... 7-112 ICCNSE—I/O Control Chip Node-Specific Error Reg ........7-117 ICCDR—I/O Control Chip Diagnostic Register ..........7-122 ICCMTR—I/O Control Chip Mailbox Transaction Reg ........7-125 ICCWTR—I/O Control Chip Window Transaction Reg ........
Page 11
6-35 Integrated I/O Section of the KFTIA ..............6-81 Mailbox Data Structure ..................7-33 Tables Digital AlphaServer 8200/8400 Documentation ............xvii Related Documents ....................... xix TLSB Bus Signals ......................2-3 TLSB Physical Node Identification ................2-5 Interleave Field Values for Two-Bank Memory Modules ........... 2-9 TLSB Address Bus Commands ..................
Page 12
TLSB Node Base Addresses ..................2-28 TLSB CSR Address Mapping ..................2-29 Mailbox Data Structure ....................2-31 2-10 Address Bus Error Summary ..................2-39 2-11 Signals Covered by TLESRn Registers ..............2-39 2-12 Data Bus Error Summary ..................2-42 Directly Addressable Console Hardware ..............3-6 TLSB Wrapping ......................
Intended Audience This manual is intended for developers of system software and for service personnel. It discusses the AlphaServer 8200/8400 systems that are de- signed around the DECchip 21164 CPU and use the TLSB bus as the main communication path between all the system modules. The manual de- scribes the operations of all components of the system: the TLSB bus, CPU modules, memory modules, and the I/O modules.
Page 16
Nonprivileged software cannot invoke Undefined op- erations. Documentation Titles Table 1 lists the books in the Digital AlphaServer 8200 and 8400 documen- tation set.
Table 1 Digital AlphaServer 8200/8400 Documentation Title Order Number Hardware User Information and Installation EK–T8030–OP Operations Manual EK–T8030–SP Site Preparation Guide EK–T8230–IN AlphaServer 8200 Installation Guide AlphaServer 8400 Installation Guide EK–T8430–IN Service Information Kit QZ–00RAC–GC Service Manual (hard copy) EK–T8030–SV AK–QKNFA–CA...
Page 18
Table 1 Digital AlphaServer 8200/8400 Documentation (Continued) Title Order Number EK–KXMSX–IN KZMSA Adapter Installation Guide EK–RRDRX–IN RRDCD Installation Guide Upgrade Manuals: 8200 System Only EK–DWL82–IN DWLPA PCI Shelf Installation Guide EK–H7266–IN H7266 Power Regulator Installation Card EK–H7267–IN H7267 Battery Backup Installation Card...
AA–Q6WVA–TE StorageWorks RAID Array 200 Subsystem Family Software User’s Guide for OpenVMS AXP AA–Q6TGA–TE StorageWorks RAID Array 200 Subsystem Family Software User’s Guide for DEC OSF/1 Operating System Manuals EY–L520E–DP Alpha Architecture Reference Manual AA–PJU7A–TE DEC OSF/1 Guide to System Administration AA–PS2DE–TE...
DEC 7000/10000 systems. It is built around the TLSB bus and supports the OpenVMS Alpha and Digital UNIX operat- ing systems. It is manufactured in two models: AlphaServer 8200 and Al- phaServer 8400. The AlphaServer 8400 features nine nodes, while Al- phaServer 8200 supports only five nodes.
Futurebus+, or PCI bus. The local I/O options on the integrated I/O port appear to software as a PCI bus connected to a hose. Figure 1-1 shows a block diagram of the 8400 system. Figure 1-1 AlphaServer 8400 System Block Diagram CPU, CPU, CPU,...
bus transactions may be overlapped, and these transactions may be over- lapped with bus arbitration. Arbitration priority rotates in a round-robin scheme among the nodes. A node in the slot dedicated to I/O follows a spe- cial arbitration algorithm so that it cannot consume more than a certain fraction of the bus bandwidth.
to the DECchip 21164 Functional Specification for a complete description of the DECchip 21164 and PALcode. 1.3.2 Backup Cache Each backup cache (B-cache) is four Mbytes in size. In a dual-processor module there are two independent backup caches, one for each CPU. Each B-cache is physically addressed, direct-mapped with a 64-byte block and fill size.
ported by a single motherboard design. The 2-Gbyte memory option uses a different motherboard and SIMM design. A maximum of seven memory modules may be configured on the TLSB (in a system with one CPU module and one I/O module). Thus, the maximum memory size is 14 Gbytes, using 2-Gbyte modules.
tion to two 10BaseT Ethernet ports, one FDDI port, and three FWD and one single-ended SCSI ports. The DWLMA is the interface between a hose and a 14-slot XMI bus. It manages data transfer between XMI adapters and the I/O port. The DWLAA is the interface between a hose and a 10-slot Futurebus+ card cage.
• KDM70 – XMI to SI disk/tape • KZMSA – XMI to SCSI disk/tape • KFMSB – XMI to DSSI disk/tape and OpenVMS clusters • CIXCD-AC – XMI to CI HSC disk/tape and OpenVMS clusters • DEMNA – XMI to Ethernet networks and OpenVMS clusters •...
— Cache/memory exerciser — I/O port/DWLMA loopback exerciser — Disk/tape device exerciser — Network exerciser — FBE exerciser — XCT (XMI bus exerciser) exerciser • Manual tests A subset of these diagnostics is invoked at system power-up. Optionally, they may be invoked on every system boot. The subset can also be invoked by the user through console command.
4–8. These five nodes are on the back side of the centerplane. AlphaServer 8200 supports the five backplane nodes only. I/O modules are restricted to nodes 6, 7, and 8. Node 8 in both mod-...
2.1.1 Transactions A transaction couples a commander node that issues the request and a slave node that sequences the data bus to transfer data. This rule applies to all transactions except CSR broadcast space writes. In these transac- tions, the commander is responsible for sequencing the data bus. CPUs and I/O nodes are always the commander on memory transactions and can be either the commander or the slave on CSR transactions.
The TLSB implements parity checking on all address and command fields on the address bus, ECC protection on the data field, and protocol se- quence checking on the control signals across both buses. 2.1.5 TLSB Signal List Table 2-1 lists the signals on the TLSB. Signal name, function, and de- fault state are given.
Page 32
Table 2-1 TLSB Bus Signals (Continued) Default Signal Name State Function TLSB_PS_TX L Power supply transmit status Expander select TLSB_EXP_SEL<1:0> L Secure console TLSB_SECURE L Local disk converter LDC_PWR_OK L I/O unit A power OK PIU_A_OK L PIU_B_OK L I/O unit B power OK System run indicator TLSB_RUN L Console win status...
8. Table 2-2 identifies the nodes on the TLSB. The AlphaServer 8200 has nodes 4 to 8 only. Node 4 must be a CPU mod- ule. Node 8 is dedicated to an I/O module.
2.2.2 Virtual Node Identification TLSB system operation requires that certain functional units can be iden- tified uniquely, independent of their physical location. Specifically, individ- ual memory banks and CPUs must be uniquely addressable entities at the system level. As multiple memory banks and CPUs are implemented on single modules, a physical node ID is insufficient to uniquely address each bank or each CPU.
drive the address and command, the outcome of the tag lookup can be evaluated by the bus interface. If the lookup is a hit, then the CPU bus interface nulls the TLSB command field and cancels the request. Although this consumes potentially needed address bus slots, the address bus re- quires two cycles to initiate a command and the data bus requires three cy- cles per transaction.
2.2.3.1 Memory Bank Addressing Scheme The TLSB supports one terabyte of physical memory. The memory ad- dress space is accessed by a 40-bit byte address. The granularity of ac- cesses on the TLSB is a 64-byte cache block. I/O adapters that need to ma- nipulate data on boundaries less than 64 bytes require the commander node to perform an atomic Read-Modify-Write transaction.
2.2.3.3 Memory Bank Address Decoding The minimum bank size for the TLSB address decode scheme is 64 Mbytes. To address memory, a CPU or I/O node must perform a memory bank de- code to test the status of the bank. The memory modules transmit the status of each bank on the 16 TLSB_BANK_AVL lines.
Figure 2-2 Address Decode Physical Address ADRMASK ADDRESS Decode and Mask Decode and Mask Compare 0 10 Address Hit PHAdr INTMASK INTLV Mask Mask Compare Valid Interleave Hit Bank Hit BXB0830.AI When a physical address is presented to the bank decode logic, all valid ad- dress bits, as determined by the ADRMASK field, are compared with their corresponding physical address bits.
2.2.3.4 Bank Available Status TLSB_BANK_AVL indicates that a bank is available for use. When not asserted, no requests except Write Bank Unlock can be issued to that bank. Each memory bank has one of the TLSB_BANK_AVL<15:0> signals as- signed to it by the console. The number of the TLSB_BANK_AVL bit corre- sponds to the bank number assigned to that bank.
2.2.4 Address Bus Arbitration The TLSB bus has demultiplexed address and data buses. These buses op- erate independently and are related only in as much as a valid command on the address bus will result in a data transfer on the data bus at some later time.
Consequently, the priority of any device will eventually bubble up to the highest level. The no-op command is the only non-data transfer command; it does not affect priorities. TLSB_REQ8_HIGH and TLSB_REQ8_LOW are assigned to the I/O mod- ule in node 8. These lines represent the highest and the lowest arbitration priorities.
in a request cycle, that CPU must take part in the following arbitration cy- cle even if the bus is no longer required. If the device wins the bus, it as- serts a no-op on the bus command lines. I/O devices in the dedicated I/O port node cannot use early arbitration. 2.2.4.9 False Arbitration Effect on Priority Relative bus priorities are only updated when a data transfer command is...
CPUs can request the bus without first checking that the bank is busy. If the bank does turn out to be busy, this is considered a false arbitration, and the command is a no-op. The device can request the bus again when the bank is free.
in subsequent CSR accesses, and it is not ready to source or accept data, it can delay asserting TLSB_SEND_DATA, or it can assert TLSB_HOLD on the bus. 2.2.4.15 Command Acknowledge When a device asserts an address, bank number, and a valid data transfer command on the bus, the targeted device responds two cycles later by as- serting TLSB_CMD_ACK.
• No-op command cycles Two signals are used to provide parity protection on the address bus dur- ing all command cycles. TLSB_CMD_PAR is asserted to generate odd par- ity for the signals TLSB_CMD<2:0>, TLSB_BANK_NUM<3:0>, TLSB_ADR<39:31>, and TLSB_ADR<4:3>. TLSB_ADR_PAR is asserted to generate odd parity for the signals TLSB_ADR<30:5>.
Write Bank Unlock Used by the I/O port to complete a Read-Modify-Write. Writes the data specified by the address and bank number and unlocks the bank. CSR Read Read the CSR location specified by the address. Bank number specifies a CPU virtual ID.
2.2.7.3 Back-to-Back Return Data Two memory read transactions are returned back to back as follows. TLSB_SEND_DATA for the first transaction is asserted, and the shared and dirty state is driven to the bus. Three cycles after the first TLSB_SEND_DATA assertion, the second memory initiates its transfer. The two transfers proceed normally, piped three cycles apart.
If one CPU drives TLSB_HOLD while another drives TLSB_SHARED or TLSB_DIRTY, the second keeps driving TLSB_SHARED and TLSB_DIRTY. TLSB_HOLD, TLSB_SHARED, and TLSB_DIRTY are as- serted for one cycle and deasserted in the next cycle. This two-cycle se- quence repeats until TLSB_HOLD is not reasserted (the no-Hold cycle). Receivers internally convert TLSB_HOLD to appear asserted in both cy- cles.
Table 2-5 TLSB Data Wrapping TLSB_ADR<5> Data Cycle Data Bytes 0–31 32–63 32–63 0–31 2.2.8.6 ECC Coding Data is protected using quadword ECC. The 256-bit data bus is divided into four quadwords. Protection is allocated as follows: • TLSB_D<63:0> is protected by TLSB_ECC<7:0> •...
Check bits are computed by XORing all data bits corresponding to columns containing a one in the upper table and inverting bits <3:2>. These check bits are transmitted on the TLSB_ECC lines. An error syndrome is computed by XORing all data and check bits corre- sponding to columns containing a one in both tables and inverting bits <3:2>.
TLSB_SHARED is valid when driven in response to Read, Read Bank Lock, Write, and Write Bank Unlock commands. Nodes may, therefore, drive TLSB_SHARED in response to any command; the value of TLSB_SHARED is only guaranteed to be accurate when TLSB_SHARED is asserted in response to the commands named above.
2.2.9 Miscellaneous Bus Signals Several signals are required for correct system operation. They are: • TLSB_DATA_ERROR — A hard or soft data error has occurred on the data bus. • TLSB_FAULT — A system fatal event has occurred. • TLSB_RESET — Reset the system and initialize. •...
and allows the CPUs asserting TLSB_LOCKOUT to complete their bus ac- cess without interference. TLSB_LOCKOUT is asserted for one cycle then deasserted for one cycle. This two-cycle sequence may be repeated until the device is ready to deassert TLSB_LOCKOUT. Multiple devices may assert this signal in any of these two-cycle sequences.
Figure 2-4 TLSB CSR Address Bit Mapping Processor Byte Address Address CSR Address Field BXB0827.AI 2.3.1 CSR Address Space Regions A total of 1 terabyte of physical address space can be mapped directly to the TLSB. Physical address bit <39> normally indicates an I/O space ref- erence from the CPU, so the first 512 Gbytes are reserved, and all address bits can be mapped directly to the TLSB address bus.
2.3.2 TLSB Mailboxes CSRs that exist on external I/O buses connected to an I/O port (or another I/O module implementing mailbox register access) are accessed through mailbox structures that exist in main memory. Read requests are posted in mailboxes, and data and status are returned in the mailbox. Mailboxes are allocated and managed by operating system software (successive op- erations must not overwrite data that is still in use).
Page 59
Table 2-9 describes the mailbox data structure. Table 2-9 Mailbox Data Structure Bit(s) Name Description <29:0> Remote Bus Command. Controls the remote bus opera- tion and can include fields such as address only, address width, and data width. See Alpha SRM. <30>...
structure. Software may choose to reuse mailboxes (for example, multiple reads from the same CSR), or it may maintain templates that are copied to the mailbox. Byte masks may be needed by some hardware devices for correct operation of a CSR read as well as a CSR write. A bit is set in the mailbox MASK field to disable the corresponding byte location to be read or written.
predictable as the value has no significance. The I/O node may choose not to acknowledge the command and save data bus cycles. The I/O node proceeds to read the selected remote CSR. When the data is available and there are no errors reading the data, the I/O node issues a CSR write command to a CSR Read Data Return Data (TLRDRD) Register in local CSR broadcast space.
2.4.1 Error Categories Error occurrences can be categorized into four groups: • Hardware recovered soft errors • Software recovered soft errors • Hard errors • System fatal errors 2.4.1.1 Hardware Recovered Soft Errors Soft errors of this class are recoverable and the system continues opera- tion.
2.4.2 Error Signals The TLSB provides two signals for broadcasting the detection of an error to other nodes. All nodes monitor the error signals, TLSB_DATA_ERROR and TLSB_FAULT (Section 2.2.9) , to latch status relative to the error. Except for system fatal errors, only the commander (CPU or I/O node) checks whether a command completes with or without errors.
every cycle, enabled solely by the driven assertion value. For example, TLSB_CMD_ACK is assertion checked to verify that if this node at- tempts to assert it, the signal is received asserted. If this node is not asserting TLSB_CMD_ACK, possibly some other node is asserting it. The following fields are level-checked only when the commander has won the bus and is asserting a command and address: •...
When a commander node issues a CSR access command but does not re- ceive acknowledgment, it sets <NAE> in the TLBER register. Only the commander that issues the command detects this error and sets <NAE>. The error is not broadcast and handling is node specific. The exception to this rule is a CSR write to a Mailbox Pointer Register;...
BER<BAE> is set if the Write Bank Unlock command appears on the bus before the second data cycle of the preceding Read Bank Lock command. If any node receives a CSR access command (to any address) while a CSR command is in progress, the node sets TLBER<BAE> and asserts TLSB_FAULT six cycles after the command.
2.4.4.1 Single-Bit ECC Errors A single-bit error on a memory data transfer is detected by a node’s ECC checking logic. The decision to correct the data or not is implementation specific. If a node detects a single-bit ECC error, it logs the error in the TLESRn register by setting either <CRECC>...
This timeout can be disabled by software. The <DTOD> bit in the TLCNR register prevents <DTO> from setting. It does not clear <DTO> if already set. 2.4.4.5 Data Status Errors The TLSB_STATCHK signal is used as a check on TLSB_SHARED and TLSB_DIRTY.
System fatal data bus errors are cumulative. Should a second system fatal error occur, TLSB_FAULT is asserted a second time. If a fatal error is of a different type than the first, an additional error is set in the TLBER regis- ter.
Some errors are more important to software than others. For example, should two correctable data errors occur, one during a write to memory and the other during a read from memory, the error during the write would be more important. The software can do no more than log the read error as it should be corrected by hardware.
Page 72
The CSR registers contain information about the error. The commander’s TLBER register contains either correctable or uncorrectable error status, and the TLFADRn registers contain the command code, bank number, and possibly the address. If TLSB_DATA_ERROR asserted, the node that transmitted the data will have set the <DTDE>. If <DTDE> is set in a memory node, there were only two nodes involved in the data transfer.
2.4.6.2 Write Errors Write data operations involve a minimum of two nodes. The commander issues the command and transmits the data. A memory node acknowl- edges as the slave, provides the timing for the data transaction, and re- ceives the data. All other nodes check to see if their cache is sharing the data and may assert TLSB_SHARED.
Page 74
still cause interrupts. Interrupts for correctable read data errors should also be disabled, as read errors will result from not correcting the single- bit errors in data that gets written into memory. Disabling correctable write data errors involves setting <CWDD> in the TLCNR register of all nodes in the system.
Chapter 3 CPU Module The CPU module is a DECchip 21164 based dual-processor CPU module. Each CPU chip has a dedicated 4-Mbyte module-level cache (B-cache) and a shared interface to memory and I/O devices through the TLSB bus. 3.1 Major Components The major components of the CPU module are: •...
The DECchip 21164 microprocessor is a CMOS-5 (0.5 micron) superscalar, superpipelined implementation of the Alpha architecture. DECchip 21164 features: • Alpha instructions to support byte, word, longword, quadword, DEC F_floating, G_floating, and IEEE S_floating and T_floating data types. It provides limited support for DEC D_floating operations.
To facilitate the multiplexing of the 256 bits of TLSB data to the 128 bits required by the DECchip 21164 interface, longwords (0,4), (1,5), (2,6) and (3,7) are paired together. This pairing is achieved by "criss-crossing" the signals coming from the TLSB connector to the DIGA pins. The DIGA transfers CSR data to/from the ADG and data path.
• A set of module-level parallel I/O ports for functions such as LED status indicators and node identification • Two serial I/O ports connected to the serial ROM I/O of the DECchip 21164’s for manufacturing diagnostic use • Support for serial number loading Communications to the UARTs, FEPROMs, watch chip, LED control regis- ters, and other registers are accomplished over the 8-bit wide Gbus.
from cache or the TLSB as shown in Table 3-2. Bit <4> specifies which 16-byte portion of the 32-byte subblock is returned first from the DIGA or cache. Bits <3:0> specify the byte being accessed. Table 3-2 TLSB Wrapping TLSB_ADR<5> Data Return Order Data returned in order Data Cycle 0 ->...
3.3.2 I/O Space The I/O space contains the I/O window space, TLSB CSR space, module Gbus space, and DECchip 21164 private CSR space. It is selected when bit <39> is one. 3.3.2.1 I/O Window Space This space, defined by addresses in the range 80 0000 0000 to DF FFFF FFC0 is used for PCI bus addressing.
3.3.2.3 Gbus Space The Gbus is the collective term for the FEPROMs, console UARTs, watch chip, and module registers. All Gbus registers are 1-byte wide, addressed on 64-bytes boundaries. Figure 3-4 shows how local Gbus space registers are assigned. Figure 3-4 Gbus Map Byte Address FF 9000 0000...
3.4 CPU Module Window Space Support CSRs that exist on some external I/O buses are accessed through window space transactions. Rather than issuing a read command and waiting for data to be returned to the CPU module from an external I/O bus, the CPU module and I/O port have a protocol to permit disconnected reads.
Table 3-5 PCI Address Bit Descriptions Name Bit(s) Function IO_SPACE <39> DECchip 21164 I/O space if set to 1. <38:36> Selects address space as follows: IOP_SEL Bits <38:36> Selected Space Node 4 Node 5 Node 6 Node 7 Node 8 Selects hose number on that module <35:34>...
data issued by DECchip 21164 is transmitted on the TLSB, along with all the INT4 mask bits. The I/O port pulls the appropriate longword out of the 32-byte block and packages it, along with address bits <4:3>, into a Down Hose packet.
Dense PCI memory space is longword addressable only. You cannot write to individual bytes. You must do longword writes. You can do quadword writes using the STQ instructions, if you want. To get at individual bytes, you must use the sparse space access method. Writes to dense PCI memory space will be merged up to 32 bytes and per- formed in one PCI transaction to the extent that the PCI target device can deal with writes of this size.
are reported to DECchip 21164 through system machine check interrupts (IPL 1F hex - SYS_MCH_CHK_IRQ). The interrupt causes the DECchip 21164 to vector to the SCB system machine check entry point (offset 660 hex) when DECchip 21164’s IPL drops below 1F hex and DECchip 21164 is not in PAL mode.
3.5.2.1 Transmit Check Errors A node must check that its bus assertions get onto the bus properly by reading from the bus and comparing it to what was driven. A mismatch can occur because of a hardware error on the bus, or if two nodes attempt to drive the fields in the same cycle.
3.5.2.3 No Acknowledge Errors Whenever a commander node expects but does not receive an acknowledg- ment of its address transmission as an assertion of TLSB_CMD_ACK, it sets an error bit in its TLBER register. For memory space accesses that are not acknowledged, <FNAE> is set: for CSR accesses, <NAE> is set. The exception to this rule is a CSR write to I/O mailbox registers;...
3.5.4 Multiple Errors The error registers can only hold information relative to one error. It is the responsibility of software to read and clear all error bits and status. Even when errors occur infrequently there is a chance that a second error can occur before software clears all status from a previous error.
Chapter 4 Memory Subsystem The memory subsystem consists of hierarchically accessed levels that re- side in different locations in the system. The memory hierarchy consists of three main parts: • Internal Caches - These caches reside on the DECchip 21164. •...
4.1.3 Second-Level Cache The second-level cache (S-cache) is a 96-Kbyte, 3-way set associative, physically addressed, write-back, write-allocate cache with 32- or 64-byte blocks (configured by SC_CTL<SC_BLK_SIZE>; see DECchip 21164 Func- tional Specification). It is a mixed data and instruction cache. The S- cache is fully pipelined.
4.2.2 B-Cache Tags Many locations in memory space can map onto one index in the cache. To identify which of these memory locations is currently stored in the B-cache, a tag for each block is stored in the tag address RAMs. This tag together with the B-cache index uniquely identifies the stored block.
Figure 4-3 Cache Index and Tag Mapping to Block Address (16MB) Processor Byte Address Tag<38:24> B-Cache Index<23:6> Wrap Order BXB0822.AI 4.2.3 Updates and Invalidates If a block is shared, and a CPU wants to write it, the write must be issued on the TLSB.
Table 4-1 B-Cache States B-Stat State of Cache Line Assuming Tag Match Cache miss. The block is not present in the cache. Valid for read or write. This cache line contains the only cached copy of the block. The copy in memory is identical to this block. Valid for read or write.
• State transition due to TLSB activity Table 4-3 shows how the cache state can change due to bus activity. TLSB writes always clean (make nondirty) the cache line in both the initiating node and all nodes that choose to take the update. They also update the appropriate location in main memory.
Table 4-3 State Transition Due to TLSB Activity TLSB Module Next Cache Operation Tag Probe Result Response State Comment _____ ______ _____ Match OR Invalid Shared, Dirty No change Read _____ ______ _____ Match OR Invalid Shared, Dirty No change Write _____ _____...
the write must be reissued by the DECchip 21164 to the TLSB as a Write Block. In the case that the Set Dirty bit is held off by an invalidate to the block, the Set Dirty request is reissued as a Read-Miss-Modify. To perform a write to a shared block, DECchip 21164 issues a Write Block request.
During memory writes, TLSB memory modules store write data and ECC check bits as they are received off the TLSB. A minor modification of the ECC check bits is done before they are written to the DRAMs to allow for the addition of a row parity bit and a column parity bit to provide addi- tional data integrity protection.
4.3.1.1 Control Address Interface The control address interface (CTL) is a single gate array. It provides the interface to the TLSB, controls DRAM timing and refresh, runs memory self-test, and contains some of the TLSB and memory-specific registers. CTL decodes the TLSB command and memory bank in the case of memory reads and writes, or the TLSB address during CSR operations to deter- mine if it is selected for this transaction.
DRAM arrays. The MDI includes data buffers, ECC checking logic, self- test data generation and checking logic, and CSRs. MDI concatenates two 72-bit TLSB transfers into one 144-bit transfer to the DRAMs during memory writes. During memory reads, 144-bit reads from the DRAMs are issued onto the TLSB via two 72-bit consecutive transfers.
four memory modules, with at least two strings each, supports a maximum of 8-way interleaving. 4.3.2 Memory Organization The physical memory composed of a single or multiple memory modules can be organized in various ways to optimize memory access. Memory can be configured with MS7CC modules of various capacities, from 128 Mbytes to 2 Gbytes.
Figure 4-5 Two-Way Interleave of a 128-Mbyte DRAM Array Bank 0 Bank 1 0000 0000 0000 0040 0000 0080 0000 00C0 64 Mbytes 64 Mbytes 07FF FF80 07FF FFC0 Block size = 64 Bytes DRAM size 4 Mbits Memory Capacity = 128 Mbytes BXB-0307A-92 Memory modules of different capacities can be interleaved as a set with modules of another capacity.
module can result in reduced system throughput due to common data path contention between the two banks. At the module level, the DRAM arrays can be interleaved on 64-byte block boundaries. The DRAM array in a 2-string MS7CC memory module is al- ways interleaved.
group of DRAM arrays. The default mode optimizes interleaving of mem- ory in any arrangement of memory modules. If the FEPROM specifies explicit interleave sets, the console then inter- leaves the arrays as requested. In a noninterleave mode, the console con- figures arrays in order, by node number, with the lowest numbered array at the lowest physical address.
sole to locate and map out bad areas of physical address space. Self-test is invoked during system power-up, when a TLSB reset occurs, or by writing to the appropriate CSRs. Two versions of self-test are supported. A normal self-test that runs upon power-up/reset and tests the module rapidly and completely with "pseudo- random"...
To exercise the array at its maximum operating speed, banks 0 and 1 are always interleaved during self-test if the module contains more than one string of DRAMs. NOTE: Bank 0 contains the even numbered strings; Bank 1 contains the odd num- bered strings.
NOTE: Successful execution is not a measure of the array integrity. It indicates that every location in memory space has been tested and written with good or bad ECC. If node reset occurs during self-test, the array will be left in an unknown state.
Table 4-8 Self-Test Times: Moving Inversion, No Errors Found Module Capacity Test Time (minutes) (Mbytes) 4 Mbit DRAM 16 Mbit DRAM 1024 10.6 2048 1 NA = Not applicable 4-20 Memory Subsystem...
Chapter 5 Memory Interface The memory interface to the TLSB consists of three parts: • Control address interface • Memory data interface • CSR interface 5.1 Control Address Interface The control address interface (CTL) is the primary controller chip for the TLSB memory.
5.1.1.1 Memory Bank State Machine The CTL contains two TLSB control state machines, one for each memory bank. The state machines receive/generate information from/to the TLSB bus as well as other TLSB support logic and DRAM control logic. Each state machine begins operation when a valid TLSB transaction request destined for the particular memory bank that it supports is received.
command is one of the factors in determining if the command is acknowl- edged (TLSB_CMD_ACK) by this node. Table 5-1 shows the encoding of TLSB commands. Table 5-1 TLSB Command Encoding Command Code Description No operation No-op Victim eviction (as memory write) Victim Memory read Read...
received from the TLSB bus. TLSB_SEND_DATA is also used to check for proper bus sequencing. Note that the TLSB_CMD_ACK and TLSB_SEND _DATA may be issued simultaneously for write transactions by the mem- ory module on an idle TLSB bus. The CTL maintains sequence number registers for each memory bank as well as for CSR transactions.
• Write • Refresh The TLSB memory is designed to operate within the following TLSB clock cycle times: • 10.0 to 11.299 ns • 11.3 to 12.999 ns • 13.0 to 15.0 ns (Memory can operate at cycle times as slow as 30 ns us- ing power-up default settings without violating the DRAM refresh re- quirements.) To support operating at multiple cycle times while maintaining low latency...
5.2 Memory Data Interface The memory data interface (MDI) is comprised of four chips connected to the DRAM array on one side and to the TLSB bus on the other. The MDI contains the following logic elements: • Data path logic •...
5.2.2.5 Write Data Out Selection A 2:1 multipexer and a tristate enable capability are provided for interfac- ing the write data buffers to the DRAM array bus. The multiplexer allows the selection of data from either the bank 0 or the bank 1 buffers. The tri- state enable capability allows the write data output to the DRAM array bus to be disabled so that it may be used for receiving read data.
on all CSR reads from memory. The ECC bits are generated across bits <63:0> and transmitted on TLSB_ECC<7:0>. 5.2.4 MDI Error Detection and Correction Logic The four MDIs monitor the data received from the TLSB for write data er- rors. They also monitor read data for ECC errors after it has been trans- mitted onto the TLSB.
in these bits. This field is undefined when either CRECC, CWECC, or ECC is zero. 5.3 CSR Interface The CSR interface, used to transfer the appropriate CSR information be- tween the CTL and the four MDI chips consists of an 8-bit data bus with parity and a command timing signal.
• Multiplexing of local CTL CSRs and the data bytes within them • Byte-wide parity generation and checking of the CSRCA bus 5.3.1.1 TLSB CSR Control The TLSB CSR control monitors the TLSB bus for either a CSR read or a CSR write command destined for that particular node.
The memory adapter supports TLSB broadcast writes to its MCR register at address location BSB+1880 (byte address). This allows for the DRAM timing rates, accessed through the MCR register to be written simultane- ously, thereby ensuring simultaneous refresh of all memory modules. Since the commander initiating the broadcast write issues both the TLSB_CMD_ACK and TLSB_SEND_DATA for the transaction, this is the only transaction for which the memory adapter may issue TLSB_HOLD.
onto the CSRCA bus during a read of one of its internal CSRs. During a write command to one of the CTL’s CSRs, a LD_EN signal from the se- quencer is used to enable data from the CSRCA bus into the proper CSR. Note that the LD_EN signal occurs on the last cycle of each of the four data byte transfers.
5.3.2.4 CSRCA Parity The CSRCA bus is protected by byte-wide odd parity. All data transmitted over this bus is accompanied by a valid parity bit (CSRCA<8>) to be checked against the data by all chips. Parity errors on the CSRCA bus during CSR read transactions cause Unpredictable data to be returned to the TLSB bus.
Chapter 6 I/O Port The I/O port is the interface of the I/O subsystem to the TLSB bus. Two modules can be used for I/O operations: KFTHA and KFTIA (integrated I/O port). Figure 6-1 shows the I/O subsystem block diagram with a KFTHA module.
The I/O port interfaces the TLSB bus to up to four different I/O buses through separate I/O bus adapter modules. Digital provides three types of I/O adapters: • XMI bus adapter—DWLMA • Futurebus+ adapter—DWLAA • PCI bus adapter—DWLPA (EISA bus through a bridge on the PCI bus) 6.1 Configuration Node 8 of the TLSB is dedicated to the I/O port.
The two Up Hose HDRs receive packets from the four Up Hoses (two hoses per HDR) and transmit them to the IDRs through the Turbo Vortex bus. The other two Down Hose HDRs receive packets from the IDRs through the Turbo Vortex bus and transmit them to the four Down Hoses (two hoses per HDR).
Page 136
mation between the TLSB and I/O adapter modules by transmitting and receiving packets across the hose(s). Mailbox, I/O window, device inter- rupt, DMA read/IREAD, and NVRAM write transactions (see following subsections) consist of packet pairs: a command packet and a status re- turn packet.
Table 6-1 I/O Port Transaction Types Transaction Initiator TLSB Commands Hose Packets CSR read None - local I/O port registers CSR read CSR write None - local I/O port registers CSR write CSR read, CSR write Window read cmd, win rd data ret Window read Window write CSR write...
Page 138
The I/O port can support up to 16 CPU chips. However, if more than four CPU chips are present, any additional CPU chip must share a TLMBPR register pair with another CPU chip. CAUTION: If two CPUs are sharing a common TLMBPR, there is a slight possibility that one of the CPUs could continually win access to that TLMBPR, thus causing the other CPU to be locked out of ever gaining access to it.
6.3.2 I/O Window Space Transactions CSRs that exist on some external I/O buses are accessed through I/O win- dow space transactions. One such external I/O bus is the PCI. NOTE: Refer to the DWLPA PCI Adapter Technical Manual for further discus- sion of transactions on the PCI bus and addressing of PCI devices.
As soon as the I/O port empties the window read command packet from its internal buffer, it issues a CSR write command to the Window Space Dec- rement Queue Counter Register (TLWSDQRn) in CSR broadcast space. The I/O port does not ACK the write broadcast transaction nor does it gen- erate the associated data cycles.
Therefore, when an interrupt occurs on an I/O bus (that is, XMI, Future- bus+, or PCI), the I/O bus adapter must first acquire the interrupt vector for that interrupt. On the Futurebus+ and the PCI, the vector is acquired as part of the INTR transaction. On the XMI bus, the vector is acquired using an IDENT transaction.
• I/O port generated error interrupts transmit a special vector on the TLSB, which must be preloaded by system software into the I/O port Interrupt Vector Register (TIVR) at system initialization. • The I/O port has a special I/O port interrupt mask bit, <INTR_NSES>, that must be loaded by software at system initialization.
DMA IREAD command, the XMI I/O adapter acknowledges the IREAD and pends the transaction. This frees the XMI for other bus traffic. The XMI I/O adapter then transmits a quadword-aligned DMA IREAD request packet to the I/O port on the Up Hose. Included in the DMA IREAD re- quest packet is the target TLSB address, a tag field to allow the XMI I/O adapter to associate the DMA IREAD request with the DMA return data packet, and the length code indicating the amount of data requested.
requires a single TLSB bus write transaction and is always a double hexword. A DMA write request packet is executed as a disconnected (write-and-run) operation and therefore has no status return packet associated with it. Once the I/O bus adapter transmits the DMA write request packet over the Up Hose, the transaction is complete.
detected on the Up Hose (for example, a parity error or sequence error), or if the TLSB bus Read-Modify-Write operation is unsuccessful, the I/O port logs the error and generates an error interrupt to the CPU(s). 6.3.7 Extended NVRAM Write Transactions The Memory Channel write transaction is used to deliver a block of data, along with its TLSB physical address, to the remote I/O bus.
When an I/O port receives a window write status return packet on the Up Hose, it decrements its remote adapter node buffer counters and discards the packet. If the Memory Channel write address range does not fall within the range of an associated valid outgoing Down Hose Range register, the I/O port dis- cards the transaction and sets ICCNSE<3>...
must not overwrite a mailbox that is still in use (<DONE> not set by the I/O port). The I/O system architecture requires that there be only a single software- visible mailbox pointer CSR (TLMBPR) address. Once the software has built a mailbox structure in main memory, it loads the I/O port’s TLMBPR register with the double hexword aligned address of the mailbox.
Table 6-3 Sparse Address Space Read Field Descriptions Field Description TLSB_BANK_NUM<3:0> Contains the TLSB commander virtual ID (VID). Indicates the address is an I/O address space reference. It will al- TLSB_ADR<39> ways be a one if the reference is in I/O address space. Defines the responder TLSB node as follows: TLSB_ADR<38:36>...
Figure 6-5 Sparse Address Space Writes TLSB_BANK_NUM TLSB_ADR<39:0> <3:0> Byte-Aligned I/O Address <31:5> Byte-Aligned I/O Address <26:0> <33:32> Space Select Field 01 = Sparse memory space 10 = Sparse I/O space 11 = Sparse configuration space <35:34> Hose number in port being addressed (0 - 3) <38:36>...
Table 6-4 Sparse Address Space Write Field Descriptions Field Description TLSB_BANK_NUM<3:0> Contains the TLSB commander virtual ID (VID). Indicates the address is an I/O address space reference. It will al- TLSB_ADR<39> ways be one if the reference is in I/O address space. Defines the responder TLSB node as follows: TLSB_ADR<38:36>...
Table 6-6 Dense Address Space Transaction Field Descriptions Field Description TLSB_BANK_NUM<<3:0> Contains the TLSB commander virtual ID (VID). Indicates the address is an I/O address space reference. It will TLSB_ADR<39> always be one if the reference is in I/O address space. Defines the responder TLSB node as follows: TLSB_ADR<38:36>...
Figure 6-8 Dense Address Space Write Data LW 7 LW 6 LW 5 LW 4 LW 3 LW 2 LW 1 LW 0 TLSB_D<0> TLSB_D<32> TLSB_D<64> TLSB_D<96> TLSB_D<128> TLSB_D<160> TLSB_D<192> TLSB_D<224> BXB0821.AI The returned hexword data for a dense window read command is asserted on the first data word of the CSR write to broadcast space.
6.5 TLSB Interface All TLSB bus transactions consist of one command/address cycle on the ad- dress bus and two data cycles on the data bus. The TLSB bus implements separate address and data buses to reduce memory latency, to allow the TLSB to adapt to different speed memories, and a range of bus cycle times (10 to 30 ns).
Table 6-7 Transaction Types Supported by the I/O Port TLSB_CMD<2:0> Initiates Responds to Command No-op Victim Read Write Read Bank Lock Write Bank Unlock CSR Read CSR Write 1 If the I/O port is in debug mode, it can initiate CSR reads and writes. 2 The I/O port initiates Write Broadcast CSR transactions only (unless in debug mode).
Modify-Write on the TLSB. The quadword of data that the I/O device sends in the masked write command contains the original data with the correct state of the lock bit, that is, bit <0> is clear. NOTE: There is no support for interlocked commands on the Futurebus+. DMA Unmasked Write Transactions The I/O port supports unmasked double hexword writes to memory.
and so on. Figure 6-10 shows the format of the data used by the I/O port in the CSR write (interrupt) transaction. Figure 6-10 Write CSR (Interrupt) Data Format 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 RSVD CPU Mask <17:14>...
hose). The I/O port, however, could post up to five interrupts to the CPUs at IPL 17 (one per hose plus one I/O port generated error interrupt). When a CPU reads a specific TLILIDx register that contains a valid vector, the I/O port builds an interrupt status return packet and returns it on the appropriate Down Hose to the I/O adapter module.
Page 161
in strict first-come, first-served order. Any other writes to the TLMBPR register by a CPU that already has two mailbox transactions pending is NO ACKed. A further constraint is that only one mailbox transaction can be processed by the I/O port at any time. All further mailbox transactions in the TLMBPR queue are put on hold until the previous mailbox transac- tion completes.
If the Error bit is set in the window Read Data Return packet, the I/O port generates a TLSB CSR (broadcast) write to the CSR Read Data Return Er- ror Register in CSR broadcast space. Data written is Unpredictable. The flow is the same as in the normal case.
6.5.2.1 Node 8 I/O Port Arbitration Mode Selection Several mode-selectable lockout avoidance algorithms are implemented to guarantee that the node 8 I/O port will eventually allow other nodes to ac- cess a given memory bank on the TLSB while allowing software to fine- tune I/O performance.
Figure 6-11 Minimum Latency Mode RESET REQ8_HIGH Notes: WIN = (GRANT* - NOP) ELSE WIN or LOSE LOSE = (REQ8_LOW * PREQ<n>*-WIN) or PREQ<n> PREQ<n>(potential request) = REQ8_LOW (-ARB_SUPPRESS* -BANK_AVL<n>* ELSE -REQ8_HIGH* -ARB_CYCLE) BXB0811.AI Note that NEXT_REQ_HI<n> would have become asserted in cycle 6 even if the I/O port did not request the bus in cycles 3–6.
commands are necessary to ensure an atomic operation and maintain cache coherency. 6.5.2.3 Bank Collision Effect on Priority A bank collision occurs when two commanders request the same bank, the first one wins, the second one gets the bus 2 cycles later and finds that it is not allowed to access that bank.
6.6 Hose Interface The I/O port communicates with the I/O bus adapters over dual-cable buses. These buses are called hoses. The I/O subsystem architecture sup- ports four separate I/O bus adapters, as shown in Figure 6-1. Each hose consists of two separate unidirectional interconnects: a Down Hose, which transmits command/address and data from the I/O port to the I/O bus adapter module;...
port receives a Window Status Return packet on the Up Hose, it decre- ments that hose’s counter. The I/O port does not transmit window read/write command packets on the Down Hose when that hose’s counter equals zero. Thus, the I/O adapter’s Down Hose window FIFO never over- flows.
6.6.2.1 Sparse Address Mapping A sparse address space uses low-order TLSB address bits to encode the size of the access and its byte offset. The I/O port interprets an Alpha physical address in the window space as: • PA<xx:5> - byte-aligned remote I/O bus address •...
Table 6-10 Down Hose Signals Signal Description Down Data Lines. Asserted by the I/O port. Carry command/address, DND<31:0> L data, or transaction status information. Down Parity. Carry odd parity across DND<31:0>. DNP L DNDATAVAL L Down Data Valid. This line is asserted by the I/O port for each valid cycle of a Down Hose packet.
Table 6-13 Hose Status Signals Signals Meaning I/O port interrupts the CPU(s) on the indicated transitions, if interrupts are enabled PWROK H ERROR L CBLOK L L -> H I/O adapter just finished powering up - Adapter ready to receive and process packets. I/O port generates in- terrupt to CPU(s) on transition of PWROK.
Mailbox Command Packet The Mailbox Command packet is used by processors to access control and status registers in adapters on the XMI and Futurebus+. Status for the Mailbox Command packet is returned in a separate packet on the Up Hose called a Mailbox Status Return packet. Only one Mailbox Command packet can be issued at a time by the I/O port, regardless of the Down Hose for which it is destined.
Table 6-15 Mailbox Command Packet Description Field Description Command <31:14> is specific to the remote bus (for example, XMI or Clock 1, <31:14> Futurebus+) rather than the I/O port, and contains the remote bus opera- tion. It can include fields such as read/write, address only, address width, data width, and so on.
The DMA Read Data Return packet is supported by the Mailbox Only, I/O Window, Full, and Memory Channel variants of the hose protocol. Table 6-16 gives the description of the DMA Read Data Return packet. Table 6-16 DMA Read Data Return Packet Description Field Description Tag <7:0>...
DMA Read Data Return packet with the error bit set is returned across the Down Hose. Figure 6-16 DMA Read Data Return Packet with Error DND <31:0> Clock cycle 24 23 22 13 12 11 10 TAG <7:0> E 0 0 0 0 0 0 0 0 0 0 1 0 LEN 0 0 0 0 0 0 0 0 BXB-0642-93 Table 6-17 gives the description of the DMA Read Data Return packet with...
Table 6-19 Sparse Window Read Command Packet Description Field Description Are always zero. Clock 1, <31:30> Virtual ID of the TLSB commanding node. The VID indicates which CPU Clock 1, <29:26> is requesting the data. The VID is returned on the Up Hose in all window return data/status packets so that the I/O port can target the requesting commanding node with the data or status of the transaction.
Table 6-20 Sparse Window Write Command Packet Description Field Description Are always zero. Clock 1, <31:30> Virtual ID of the TLSB commanding node. The VID indicates which CPU Clock 1, <29:26> is requesting the data. The VID indicates which CPU is requesting the data.
Table 6-21 Dense Window Read Command Packet Description Field Description Are always zero. Clock 1, <31:30> Virtual ID of the TLSB commanding node. The VID indicates which CPU Clock 1, <29:26> is requesting the data. The VID is returned on the Up Hose in all window return data/status packets so that the I/O port can target the requesting commanding node with the data or status of the transaction.
Table 6-22 Dense Window Write Command Packet Description Field Description Are always zero. Clock 1, <31:30> Virtual ID of the TLSB commanding node. The VID indicates which CPU Clock 1, <29:26> is requesting the data. The VID is returned on the Up Hose in all window return data/status packets so that the I/O port can target the requesting commanding node with the data or status of the transaction.
Table 6-23 Memory Channel Write Packet Description Field Description Always zero. Clock 1, <31> Error. Always sent as zero by the I/O port. Clock 1, <30> Are always zero. Clock 1, <29:16> Command field. It is always set to a code of 11110 by the I/O port to indi- Clock 1, <15:11>...
Table 6-24 Mailbox Status Return Packet Description Field Description The return data longword 0 and 1 fields, respectively. The return data Clock 1 and 2, fields contain read data in response to Mailbox Command packets that <31:0> were reads. This data is Unpredictable when responding to Mailbox Com- mand packets that were writes.
Table 6-25 DMA Read Packet Description Field Description The TAG<7:0> field allows the subsequent DMA Read Data Return packet Clock 1, <31:24> on the Down Hose to be associated with a DMA Read Data packet on the Up Hose. The tag is generated by the I/O bus adapter. Are always zero.
DMA Masked Write with Data The DMA Masked Write Packet is a request on the Up Hose from the I/O bus adapter to the I/O port for a TLSB data write transaction. Any combination of mask bits is allowed. However, the I/O bus adapter may or may not support this capability.
Table 6-29 DMA Masked Write Packet Description Field Description Don’t Care. These bits, which normally form the TAG field, are don’t Clock 1, <31:24> care, since DMA Masked Write packets are disconnected and have no corresponding return packet. Are always zero. Clock 1, <23:11>...
DMA Unmasked Write with Data The DMA Unmasked Write packet is a request on the Up Hose from the I/O bus adapter to the I/O port for a TLSB data write transaction. The data length of the unmasked write is always a double hexword and the LEN code must indicate a double hexword (100).
Table 6-31 DMA Unmasked Write Packet Description Field Description Don’t Care. These bits, which normally form the TAG field, are don’t Clock 1, <31:24> care, since DMA Unmasked Write packets are disconnected and have no corresponding return packet. Are always zero. Clock 1, <23:11>...
Table 6-32 INTR/IDENT Status Return Packet Description Field Description Don’t Care. These bits, which normally form the TAG field, are don’t care, Clock 1, <31:24> since only one interrupt per IPL can be pending at a time and the corre- sponding INTR/IDENT Status Return packet can be easily identified by the IPL field.
Table 6-33 Sparse Window Read Data Return Packet Description Field Description Is always zero. Clock 1, <31> Error. Set by the remote I/O bus adapter if any errors were detected on Clock 1, <30> the transfer. Virtual ID of the TLSB commander node. This enables the I/O port to as- Clock 1, <29:26>...
Figure 6-31 Dense Window Read Data Return Packet UPD <31:0> UPCTL 31 30 29 28 27 26 25 1 1 0 1 Zero Count Zero x x x x Data Longword 0 Data Longword 1 x x x x Data Longword 2 x x x x Data Longword 3 x x x x...
Window Write Status Return Packet The Window Write Status Return packet is used by adapters on remote buses that support I/O window space packets to return the completion status of a previously issued dense/sparse window write command packet. The command field value of the Window Write Status Return packet is C (hex).
6.6.5 Hose Errors Four types of errors affect the hoses: • Parity errors on the transmitted data/control information • Illegal packet errors • FIFO overflow errors • I/O port internal errors Parity errors are detected on all Up Hoses and have corresponding CSR er- ror bits to indicate the failure to the system.
6.7 I/O Port Error Handling The I/O port provides a high reliability electrical environment. Conse- quently, error handling is biased toward detection rather than correction. The I/O port attempts to retain state for system software to determine the severity level and recoverability of any error. However, due to the deep pipelined nature of the protocol, the amount of state saved is limited.
If the I/O port detects a hard internal error. it sets the appropriate error bit in either the ICCNSE register or one of the IDPNSEn registers, which- ever is applicable. The I/O port then posts an IPL 17 error interrupt to the processor(s) to inform the operating system of the error if interrupts are enabled (ICCNSE<INTR_NSES>...
Each IDR on the I/O port receives 64 data bits and 8 ECC bits from the TLSB. Error checking is performed and if a data error is detected, the IDR(s) set the appropriate error bit in the TLESRn register. The IDR(s) also informs the ICR that a data error, either hard or soft, has been de- tected.
another node and ensure that TLSB_FAULT is only asserted for two cy- cles. When the I/O port detects assertion of TLSB_FAULT on the TLSB, it im- mediately aborts all outstanding transactions and resets to a known state. The I/O port deasserts its REQUEST signal no later than two cycles from the assertion of TLSB_FAULT.
Hose PWROK Transitioned and Hose Error are technically hose errors, not internal I/O port errors. However, they are handled by the I/O port in the same manner as internal errors. The posting of IPL 17 error interrupts are enabled by software by setting ICCNSE<INTR_NSES>...
The I/O port assertion checks TLSB_CMD_ACK only when it is being as- serted by the the I/O port. If the I/O port detects a mismatch, it sets <ACKTCE> and asserts TLSB_FAULT. The I/O port assertion checks TLSB_ARB_SUP only when it is being as- serted by the I/O port.
tected, the I/O port does not issue the transaction on the TLSB. It simply aborts that transaction by transmitting a UTV_ERROR_A (or B) code across its internal TL_CMD bus to each IDR. The I/O port then posts an IPL 17 interrupt on the TLSB, if enabled by ICCNSE<INTR_NSES>. 6.7.8 Data Bus Errors Data bus errors are either ECC-detected errors on data transfers or control errors on the data bus.
ting <UECC>. A UECC error causes the I/O port to set TLBER<UDE> and assert TLSB_DATA_ERROR. An IPL 17 is also posted, if enabled by software. If the error was detected on data that the I/O port was writing to memory, then TLESR<TDE>...
6.7.8.6 Transmit Check Errors The I/O port level checks the TLSB_D<255:0> and TLSB_ECC<31:0> fields when it is driving data on the TLSB bus. The I/O port sets <TCE> in its TLESRn register if it detects a mismatch. Since ECC is checked on the data received from the bus, a TCE error usually causes the I/O port to set one of <UECC>, <CWECC>, or <CRECC>.
• The TLFADRn registers record the address, command, and bank num- ber from the command. These registers can only hold information relative to one error. It is the responsibility of software to read and clear all error bits and status. Even when errors occur infrequently, there is a chance that a second error can occur before software clears all status from a previous error.
The ICR up Turbo Vortex interface checks for the following types of errors: • Parity errors • Sequence errors • Buffer overflow errors • Illegal command errors Reporting of up Turbo Vortex detected errors can be enabled by setting ICCNSE<INTR_NSES>, which results in the I/O port posting an IPL 17 interrupt.
assertion of this signal causes ICCNSE<DN_VRTX_ERRORn> to set. An IPL 17 interrupt will also be posted if ICCNSE<INTR_NSES> is set. When the down HDR completes processing of the failing packet, it at- tempts to assert DECR_PKT<n> to the ICR gate array. DECR_PKT<n> is only asserted if a packet was sent down the hose (for example, DMA read return with error packet).
serts TLSB_FAULT. The catastrophic failure requires a reset of the I/O port to return the I/O port to a known state. 6.7.11.4 Hose Status Change Errors The IDPNSEn registers contain status information relating to the ability of the I/O adapter to receive commands and data from the Down Hose. These bits are <HOSEn_ERROR>...
• One external hose connection • Optional multimode FDDI daughter card or UTP FDDI daughter card • Optional 4-Mbyte NVRAM daughter card • Onboard 128-Kbyte map RAM The integrated I/O port is comprised of two sections, as shown in Figure 6-34.
I/O port is a subset of what is implemented on the DWLPA. • Ethernet Controller 21040 (TULIP) Engineering Specification: De- scribes the Ethernet chip. Consult also the DEC 21040 Typical Motherboard Implementation. • ISP 1020 Intelligent SCSI Processor Technical Manual •...
The PCI interface consists of the following sections: • Two HPC (hose to PCI) gate arrays • Map RAM • Up Hose control logic These sections are discussed below. HPC Gate Arrays Each HPC provides the connection between the internal hose and each PCI bus (PCI0 and PCI1).
6.8.1.3 Ethernet Ports The integrated I/O port supports two Ethernet ports and uses the twisted- pair (10baseT) connection. The Ethernet port can sustain reception of back-to-back packets at full line speed with a 9.6 µs IPG (interpacket gap), or to transmit such back-to-back packets, due to its on-chip dual 256-byte FIFOs.
6.8.2.2 Mailbox Transaction All mailbox transactions are executed by the HPC as a PCI master. Mailbox transactions forwarded from the HDR can access a PCI I/O device through the PCI bus, an HPC CSR, or the map RAM. Mailbox transac- tions to PCI memory or I/O space on the PCI bus are sent to both PCI buses.
rupt’s vector and merging it with a programmable device IPL. The INTR/IDENT is then sent to the HDR over the Up Hose. Because the interrupt request lines of the devices are connected to more than one of the HPC’s 16 interrupt request input pins, software controls the interrupt priority of the devices on each PCI bus.
Chapter 7 System Registers The system registers are divided into two main groups: • TLSB registers • Node-specific registers TLSB registers are used for internode communications and transactions over the TLSB bus. Node-specific registers implement functions related to the operation of the module. Each node implements some TLSB required registers as well as node- specific registers.
• When the value of a bit position is given explicitly in a register dia- gram, the information conveyed is as follows: Bit Value Designation Meaning Reads as zero; ignored on writes. Reads as one; ignored on writes. Does not exist in hardware. The value of the bit is Unpredictable on reads and ignored on writes.
TLDEV—Device Register Address BB + 0000 Access The TLDEV register is loaded during initialization with informa- tion that identifies a node. A zero value indicates an uninitialized node. 24 23 16 15 HWREV SWREV DTYPE BXB-0491-93 Table 7-3 TLDEV Register Bit Definitions Name Bit(s) Type...
Page 224
Table 7-3 TLDEV Register Bit Definitions (Continued) Name Bit(s) Type Function <15:0> R/W, 0 Device Type. Identifies the type of node as fol- DTYPE lows: bit <15> specifies a CPU node; bit <14> specifies a memory node; bit <13> specifies an I/O node.
TLBER—Bus Error Register Address BB + 0040 Access The TLBER register contains bits that are set when a TLSB node detects errors in the TLSB system. The entire register is locked when the first error bit gets set in this register if TLCNR<LOFE> is set.
Table 7-4 TLBER Register Bit Definitions Name Bit(s) Type Function <31> W1C, 0 Data Timeout. Set when a commanding node times out waiting for a slave to assert TLSB_SEND_DATA. This is a system fatal er- ror that asserts TLSB_FAULT. This error is dis- abled if TLCNR<DTOD>...
Page 227
Table 7-4 TLBER Register Bit Definitions (Continued) Name Bit(s) Type Function <23> R, U Data Syndrome 3. A status bit set when the TLESR3 register contains status relative to the current data error. This bit is undefined when CRDE, CWDE, and UDE are zero. It is over- written on a second error of higher significance.
Page 228
Table 7-4 TLBER Register Bit Definitions (Continued) Name Bit(s) Type Function <16> W1C, 0 Uncorrectable Data Error. Set when <UECC> is set in any TLESRn register. This is a hard error that asserts TLSB_DATA_ ERROR. CPU: Set when <UECC> is set in any TLESRn register.
Page 229
Table 7-4 TLBER Register Bit Definitions (Continued) Name Bit(s) Type Function <6> W1C, 0 Acknowledge Transmit Check Error. Set ACKTCE when a transmit check error is detected on the TLSB_CMD_ACK signal. This is a system fatal error that asserts TLSB_FAULT. I/O: Also sets <NAE>...
Page 230
Table 7-4 TLBER Register Bit Definitions (Continued) Name Bit(s) Type Function <2> W1C, 0 Bank Available Violation Error. Set when a memory bank is addressed by a memory access command while the memory bank is busy. Also set when any node detects a CSR access com- mand while a CSR command is already in pro- gress.
Page 231
Table 7-4 TLBER Register Bit Definitions (Continued) Name Bit(s) Type Function <0> W1C, 0 Address Transmit Check Error. ATCE CPU: Set when a transmit check error is de- tected on the TLSB_ADR<39:3>, TLSB_ADR_PAR, TLSB_BANK_NUM<3:0>, TLSB_CMD<2:0>, or TLSB_CMD_PAR signals. This is a system fatal error that asserts TLSB_FAULT.
Table 7-5 TLCNR Register Bit Definitions Name Bit(s) Type Function <31> R/W, 0 Lock on First Error. If set, the node locks the LOFE TLBER and TLFADR registers when the first er- ror bit is set in the TLBER register. NRST <30>...
Page 234
Table 7-5 TLCNR Register Bit Definitions (Continued) Name Bit(s) Type Function <13> R/W, 1 Self-Test Fail B. When set, indicates that unit STF_B has not yet passed self-test. CPU: When set, indicates that CPU1 has not yet passed self-test. Initialized to zero for uniproces- sor module.
Page 235
Table 7-5 TLCNR Register Bit Definitions (Continued) Name Bit(s) Type Function <11:8> R/W, 0 Virtual Unit Count. This field indicates the VCNT number of virtual units contained in this mod- ule. CPU: Self-test firmware loads this field with a value of 1 on all uniprocessor modules and 2 on all dual-processor modules.
Page 236
Table 7-5 TLCNR Register Bit Definitions (Continued) Name Bit(s) Type Function <1> R/W, 0 Correctable Read Data Error Interrupt Dis- CRDD able. When set, TLSB_DATA_ERROR is not asserted on detection of a single-bit data error during a read command. Setting CRDD in all nodes disables correctable read data error inter- rupts.
TLVID—Virtual ID Register Address BB + 00C0 Access The TLVID register contains the TLSB virtual identifiers assigned to a physical node. The virtual units can be CPUs or memory banks. The number of these units is presented in TLCNR<VCNT>. The units are addressed using virtual IDs that are assigned by writing the TLVID register.
Table 7-6 TLVID Register Bit Definitions Name Bit(s) Type Function <31:8> R/W, 0 Reserved. Must be written as zero. RSVD <7:4> R/W, 0 Virtual ID B. Contains the virtual ID for unit VID_B B in this node. Reads zero if unimplemented. CPU: Contains the virtual ID for CPU1.
Table 7-7 TLMMRn Register Bit Definitions (Continued) Name Bit(s) Type Function <10:8> CPU, W, 0 Interleave. Lower address bits used in inter- INTLV I/O, R/W, 0 leaving. This field is compared to physical ad- dress lines TLSB_ADR<8:6>. Table 7-8 gives <INTLV>...
TLFADRn—Failing Address Registers Address BB + 0600, 0640 Access The TLFADRn registers contain status information associated with an error condition. Some nodes may not preserve this information for all error types. Therefore, field valid bits are used to indicate which fields contain data. 13 12 11 10 9 8 23 22 21 20 19 18 17 16...
Page 243
Table 7-10 TLFADRn Register Bit Definitions (Continued) Name Bit(s) Type Function TLFADR1 <24> W1C, 0 Address Valid. Set when <FADR> contains a valid ADRV address from a bus transaction. <23:20> R, U Failing Bank Number. The bank number field FBANK from the command that resulted in an error.
TLESRn—Error Syndrome Registers Address BB + 0680 through 0740 Access The TLESRn registers contain the status information on a data er- ror within a 64-bit slice of the data. TLESR0 contains the error syndrome and status derived from TLSB_D<63:0>, TLSB_ECC<7:0>, and TLSB_DATA_VALID<0>. TLESR1 contains the error syndrome and status derived from TLSB_D<127:64>, TLSB_ECC<15:8>, and TLSB_DATA_VALID<1>.
Page 245
Table 7-11 TLESRn Register Bit Definitions (Continued) Name Bit(s) Type Function <23> RO, 0 CPU 1. When set together with <TDE>, indicates CPU1 that CPU1 was involved with sourcing the data er- ror. This bit is Unpredictable when <TDE> is clear and also when CRECC, CWECC, and UCE are zero.
Page 246
Table 7-11 TLESRn Register Bit Definitions (Continued) Name Bit(s) Type Function <16> W1C, 0 Transmitter During Error. A status bit set when data transmitted by a node results in error. This bit is Undefined when <CRECC>, <CWECC>, and <UECC> are zero. <15:8>...
Page 247
Four error bits in the TLBER register will set as a result of the five error bits in this register. • CRECC sets TLBER<CRDE> • CWECC sets TLBER<CWDE> • UECC sets TLBER<UDE> • TCE, when no ECC error detected, sets TLBER<FDTCE> •...
TLILIDn—Interrupt Level IDENT Registers Address BB + 0A00 through 0AC0 Access Each of the four TLILIDn registers is the topmost (oldest) entry in a queue of the interrupts for that IPL. A read from this register sends the "oldest" interrupt IDENT to the CPU that requests it. When all active interrupts have been read, the TLILIDn register returns zeros.
TLCPUMASK—CPU Interrupt Mask Register Address BB + 0B00 Access The TLCPUMASK register is used to determine which CPUs are to service interrupts. The contents of this register is combined with the interrupt level to form the data to be written to the TLI/OINTRn register.
TLMBPR—Mailbox Pointer Registers Address BB + 0C00 Access The TLMBPR register posts mailbox requests in an I/O port for ac- cess to a CSR on an external I/O bus. Software access to this regis- ter is through the single address BB+0C00. CPU hardware selects one of the 16 registers by asserting the value of the CPU’s virtual ID on TLSB_BANK_NUM<3:0>.
Figure 7-1 Mailbox Data Structure 48 47 40 39 32 31 QW 0 MASK HOSE QW 1 RBADR <63:0> QW 2 WDATA <63:0> UNPREDICTABLE QW 3 RDATA <63:0> QW 4 STATUS QW 5 UNPREDICTABLE QW 6 UNPREDICTABLE QW 7 BXB-0174 C-94 Table 7-15 gives the description of the mailbox data structure fields.
Page 252
Table 7-15 Mailbox Data Structure Description (Continued) Bit(s) Name Description <63:0> RDATA Read Data. For read commands, contains the data returned. For write data commands, the field is Unpredictable. <0> Done. For read commands, indicates that the <ERR>, <STATUS>, and <RDATA> fields are valid. For all commands, indicates that the mailbox structure may be safely modified by host software.
TLIPINTR—Interprocessor Interrupt Register Address BSB + 0040 Access The TLIPINTR register is used by CPU nodes to signal inter- processor interrupts. 16 15 RSVD MASK BXB-0497-93 Table 7-16 TLIPINTR Register Bit Definitions Name Bit(s) Type Function <31:16> W, 0 Reserved. Must be zero. RSVD MASK <15:0>...
TLIOINTRn—I/O Interrupt Registers Address BSB + 0100 through 0200 Access The TLIOINTRn registers are used by the I/O nodes to signal inter- rupts from the TLSB I/O system to processors. 20 19 18 17 16 15 RSVD VID_MASK IPL 14 INTR IPL 15 INTR IPL 16 INTR IPL 17 INTR...
Page 255
means that all CPUs accept writes to these registers. Multiple writes to a register post multiple interrupts. Reads to these locations produce Unpre- dictable results. A CPU receiving one of the four bits set in its target assignment is ex- pected to respond by reading a TLILIDn register in the I/O node and dis- patch an interrupt based on the IDENT vector.
TLWSDQR4-8—Window Space Decr Queue Counter Registers Address BSB + 0400 through 0500 Access The TLWSDQRn registers are used by an I/O node to inform CPU nodes when a window space address register becomes available. One register is assigned to each I/O node by physical node ID (for example, TLWSDQR5 to node 5).
TLRMDQRX—Memory Channel Decr Queue Counter Register X Address BSB + 0600 Access The TLRMDQR register X is used by an I/O node to inform all nodes when a Memory Channel address register becomes avail- able. One I/O port in physical nodes 4 through 7 that is enabled to handle Memory Channel transactions issues writes to this register.
TLRMDQR8—Memory Channel Decr Queue Counter Register 8 Address BSB + 0640 Access The TLRMDQR register 8 is used by an I/O node to inform all nodes when a Memory Channel address register becomes available. An I/O port in physical node 8 issues writes to this register. If the I/O node acknowledges the CSR write command, it must cycle the data bus and provide data with good ECC.
TLRDRD—CSR Read Data Return Data Register Address BSB + 0800 Access The TLRDRD register is used by I/O nodes to return data read from a remote CSR window space read command and complete the remote CSR read command. The CPU virtual ID is asserted on the TLSB_BANK_NUM<3:0>...
TLRDRE—CSR Read Data Return Error Register Address BSB + 0840 Access The TLRDRE register is used by I/O nodes to signal an error dur- ing a remote CSR window space read command and complete the remote CSR read command. The data returned is Unpredictable. The CPU virtual ID is asserted on the TLSB_BANK_NUM<3:0>...
TLMCR—Memory Control Register Address BSB + 1880 Access The TLMCR register is used by memory nodes to set DRAM timing rates. DRAM timing is dependent on bus cycle time and must be written into each memory node to ensure the most efficient mem- ory operation.
7.4 CPU Module Registers CPU module registers are divided into four groups: • Module-specific registers • CPU0-specific registers • CPU1-specific registers • Gbus registers The first three groups of registers are implemented in TLSB node space for visibility. Gbus registers reside in the node private space. NOTE: Accesses by a CPU to its own Gbus registers are treated as private accesses and are performed through the TLPRIVATE location in broadcast space (BSB + 0000).
Table 7-20 CPU Module Registers (Continued) Mnemonic Name Address Module Registers Memory Channel Range Register for channel 0 BB+1E00 RM_RANGE_0A Memory Channel Range Register for channel 0 BB+1E40 RM_RANGE_0B Memory Channel Range Register for channel 1 BB+1E80 RM_RANGE_1A RM_RANGE_1B Memory Channel Range Register for channel 1 BB+1EC0 CPU Chip Registers Interrupt Mask Register for CPU0...
TLDIAG—Diagnostic Setup Register Address BB + 1000 Access The TLDIAG register is used to configure the module for the vari- ous diagnostic modes required for a complete module-level self- test. Only one diagnostic setup register is specified, shared be- tween the two CPUs. 16 15 14 13 12 11 10 RSVD RSVD...
Page 266
Table 7-22 TLDIAG Register Bit Definitions (Continued) Name Bit(s) Type Function <13> R/W, 0 Assert Fault. When set, clearing <FRIGN> causes ASRT_FLT TLSB_FAULT to be asserted to the bus. On power-up re- set, this bit is clear, as TLSB_FAULT should not be as- serted.
Page 267
Table 7-22 TLDIAG Register Bit Definitions (Continued) Name Bit(s) Type Function <1> W, 0 DTag Write. When set, causes the DTag entry at the in- DTWR dex specified by the next memory space read to be writ- ten with the value in the TLDTAGDATA and TLDTAG- STAT registers.
TLDTAGDATA—DTag Data Register Address BB + 1040 Access Diagnostics test the DTag RAMs by writing a value to the DTag and reading the value back to check that the two match. On diag- nostic DTag writes, the TLDTAGDATA register is used to set up the DTag data to be written.
TLDTAGSTAT—DTag Status Register Address BB + 1080 Access Diagnostics test the DTag status RAMs by writing a value to <DT_STAT> and reading the value back to check that the two match. On diagnostic DTag writes, the TLDTAGSTAT register is used to set up the <DT_STAT> value to be written. On diagnostic DTag reads, the TLDTAGSTAT register is used to report the <DT_STAT>...
TLMODCONFIG—CPU Module Configuration Register Address BB + 10C0 Access The TLMODCONFIG register is set by console code to show the module configuration. 14 13 17 16 10 9 RSVD FAULT_DIS CPU_PIPE_DIS SYS_PIPE_DIS BQ_MAX_ENT CQ_MAX_ENT BCIDLETIM: BC Idle Time RM_SIZE LOCKOUT_EN BCACHE_SIZE CPU1_DIS CPU0_DIS...
Page 271
Table 7-25 TLMODCONFIG Register Bit Definitions (Continued) Name Bit(s) Type Function <15:13> R/W, 4 Bus Queue Maximum Entries. Indicates the maxi- BQ_MAX_ENT mum number of bus queue entries supported. Not all values are supported. <12:10> R/W, 4 Cache Queue Maximum Entries. Indicates the CQ_MAX_ENT maximum number of cache queue entries supported.
TLEPAERR— ADG Error Register Address BB + 1500 Access The ADG Error Register contains CPU module error bits. These bits are set as a result of errors detected in the ADG. 16 15 14 13 12 11 10 RSVD NO_ACK CSR_WR_NXM WSPC_RD_PEND <1:0>...
Table 7-26 TLEPAERR Register Bit Definitions Name Bit(s) Type Function <31:18> R/W, 0 Reserved. Must be written as zeros. RSVD <17:16> W1C, 0 No Acknowledgment. No acknowledgment from NO_ACK one of the DECchip 21164 processors. Bit <16> ap- plies to CPU0; bit <17> to CPU1. <15>...
Page 274
Table 7-26 TLEPAERR Register Bit Definitions (Continued) Name Bit(s) Type Function <3> W1C, 0 MMG to ADG Address Parity Error #1. Set when M2AAPE1 the ADG detects a parity error on the address bus be- tween CPU1 MMG and the ADG. A parity check is performed after the ADG has assembled the CPU ad- dress and cmd/addr parity, as piped from the MMG, and combined it with the CPU command sent directly...
TLEPDERR—DIGA Error Register Address BB + 1540 Access The TLEPDERR register contains CPU module error bits. These bits are set as a result of errors detected in the MMG or any of the DIGA chips. This register resides in DIGA0. RSVD GBTO: Gbus Timeout Error D2DCPE0: DIGA to DIGA CSR Parity Error #0...
Table 7-27 TLEPDERR Register Bit Definitions Name Bit(s) Type Function <31:3> R/W, 0 Reserved. Must be written as zeros. RSVD <2> W1C, 0 Gbus Timeout Error. Set when DIGA0 issues a GBTO Gbus read and fails to receive Gbus Acknowledge within the Gbus timeout period.
TLEPMERR—MMG Error Register Address BB + 1580 Access The TLEPMERR register contains CPU module error bits. These bits are set as a result of errors detected in the MMG. This regis- ter also contains the node reset status bit. RSVD RSTSTAT D2DCPE3: DIGA to DIGA CSR Parity Error #3 D2DCPE2: DIGA to DIGA CSR Parity Error #2...
Table 7-28 TLEPMERR Register Bit Definitions Name Bit(s) Type Function <31:7> R/W, 0 Reserved. Must be written as zeros. RSVD <6> W1C, 0 Node Reset Status. When set, indicates that the RSTSTAT node was reset by writing 1 to TLCNR<NRST>. <5>...
Page 279
Table 7-28 TLEPMERR Register Bit Definitions (Continued) Name Bit(s) Type Function <2> W1C, 0 DIGA to MMG CSR Parity Error. Set when the D2MCPE MMG detects a parity error on the DIGA to DIGA CSR bus. This error can occur when a CSR in the MMG is being written or read.
TLEP_VMG—Voltage Margining Register Address BB + 15C0 Access The TLEP_VMG register is implemented in DIGA1. It drives the voltage margining circuit on the CPU module to vary the 5 V and 3.3 V supplies. The otherwise unused (on DIGA1) interrupt lines are used for this function.
TLINTRMASK0–1—Interrupt Mask Registers Address BB + 1100, BB + 1140 Access The TLINTRMASK0–1 registers are used to enable interrupts to the CPUs. TLINTRMASK0 controls interrupts on CPU0 and TLIN- TRMASK1 on CPU1. RSVD Ctrl/P HALT ENA HALT ENA INTIM_ENA IP_ENA IPL17_ENA IPL16_ENA IPL15_ENA...
Table 7-30 TLEPDERR Register Bit Definitions Name Bit(s) Type Function <31:9> R/W, 0 Reserved. Must be written as zeros. RSVD <8> R/W, 0 Ctrl/P Halt Enable. Enables halt through ^P if Ctrl/P_HALT_ENA <TLSB_SECURE> of GBUS$MISCR is not set, and if a ^P Halt interrupt is received from the Gbus.
Table 7-31 TLINTRSUM Register Bit Definitions Name Bit(s) Type Function <31:29> R/W, 0 Reserved. Must be written as zeros. RSVD <28> R, 0 Halt. CPU halt was written in TLCNR<HALT_x> HALT (this CPU) and TLINTR<HALT_ENA> is set. <27> W1C, 0 Ctrl/P Halt.
Page 285
Table 7-31 TLINTRSUM Register Bit Definitions (Continued) Name Bit(s) Type Function <11:7> R, 0 IPL14 Interrupts. Indicator of outstanding inter- IPL14_INTR rupts at IPL14. If a bit is set in this field, it indicates that there is at least one interrupt outstanding at IPL17 from the node number associated with the bit.
TLCON00,01,10,11—Console Communications Regs Address BB + 1200 & 1400; BB + 1300 & 1440 Access Two 32-bit wide register scratch pads are provided for each CPU on a module for communications between CPUs. Bits in these two registers are not allocated to any particular function and are un- der software control.
TLCON0A,0B,0C,1A,1B,1C—DIGA Comm. Test Regs Address BB + 1240, 1280, & 12C0; BB + 1340, 1380, & 13C0 Access DIGA Communications Test registers are used by diagnostic self- test code only. DIGA Communications Test Reg 0 DIGA Communications Test Reg 1 BXB-0724-94 The Console Communications registers are implemented in DIGA0.
RM_RANGE_nA,B—Memory Channel Range Regs Address BB + 1E00 through 1EC0 Access The Memory Channel Range registers define the two separate memory ranges to be set up on the CPU module. 31 30 28 2 7 RSVD BASE_ADR_A <39:20> RSVD RSVD BASE_ADR_B <39:20>...
Table 7-32 Memory Channel Range Register Bit Definitions Name Bit(s) Type Function <31> R/W, 0 Valid. When set, the contents of this register VALID are valid. <30:27> R/W, 0 Reserved. Read as zeros. RSVD <26:8> R/W, 0 Base Address <38:20>. The address of Mem- BASE_ADR<38:20>...
Table 7-33 TLDMCMD Register Bit Definitions Name Bit(s) Type Function <31> W1C, 0 Data Movement Done. When set, indicates that DM_DONE the required function has been completed and that the data mover is idle. This bit clears when the CPU that initiated the data mover transaction writes one to it.
Page 292
Table 7-33 TLDMCMD Register Bit Definitions (Continued) Name Bit(s) Type Function <9:8> R/W, 0 Data Mover Command. Encodes the data mover DM_CMD command. <DM_CMD> Encoding Initialize memory at the addresses specified by the TLDMADRA register and the data length field to zero. Read blocks from addresses specified by the TLDMADRA register and the data length field.
TLDMADRA—Data Mover Source Address Register Address BB + 1680 Access The TLMADRA register contains the source address of the data mover transaction. 31 30 29 SRC_ADR <38:9> BXB-0772-93 RSVD Table 7-34 TLDMADRA Register Bit Definitions Name Bit(s) Type Function <31:30> W, 0 Reserved.
TLDMADRB—Data Mover Destination Address Reg Address BB + 16C0 Access The TLMADRB register contains the destination address of the data mover transaction. 31 30 29 DEST_ADR <38:9> BXB-0771-93 RSVD Table 7-35 TLDMADRB Register Bit Definitions Name Bit(s) Type Function <31:30> R/W, 0 Reserved.
GBUS$WHAMI Address FF C000 0000 Access The GBUS$WHAMI register provides node ID, CPU number, and reflects the status of some backplane signals. MFG_MODE_L CPU_NUM TLSB_CONWIN TLSB _BAD BXB-0514-93 Table 7-36 GBUS$WHAMI Register Bit Definitions Name Bit(s) Type Function <7> Reserved. Reads as zero. RSVD <6>...
GBUS$LED0,1,2 Address FF C100 0000, FF C200 0000, FF C300 0000 Access The GBUS$LEDn registers are used by diagnostics to indicate test numbers for both CPUs. LEDs are illuminated by writing a one to the appropriate bits in one of the GBUS$LEDn registers. GBUS$LED0 is for CPU0 and drives a 7-segment display.
GBUS$MISCR Address FF C400 0000 Access The GBUS$MISCR register is used to gather various read bits that show module configuration. CONWIN1W RSVD CONWIN0W PROCNT DRIVE_CONWIN FPROM_WE DRIVE_RUN BXB-0725-93 System Registers 7-79...
Table 7-37 GBUS$MISCR Register Bit Definitions Name Bit(s) Type Function <7> R, 0 Console Winner CPU1 Read. When set, indi- CONWIN1R cates that CPU1 is running console. This is a read copy of the write-only bit implemented in GBUS$MISCW. <6> R, 0 Console Winner CPU0 Read.
GBUS$MISCW Address FF C500 0000 Access The GBUS$MISCW register is used to gather write bits that control various functions. CONWIN1R CACSIZ: B-Cache Size CONWIN0R DRIVE_BAD RSVD TLSB_SECURE TLSB_RUN BXB-0515-93 Table 7-38 GBUS$MISCW Register Bit Definitions Name Bit(s) Type Function <7> W, 0 Console Winner CPU1 Write.
GBUS$TLSBRST Address FF C600 0000 Access The GBUS$TLSBRST register is used to initiate a system reset se- quence. When this register is loaded with any value, the CCL RE- SET signal is asserted by the CPU module for 128 TLSB cycles. The CCL then drives TLSB_RESET for 16 µs.
GBUS$SERNUM Address FF C700 0000 Access The GBUS$SERNUM register is used to read and write an SROM on the clock module where the system serial number is stored. All reads and writes to this register are done by software. PIUA SROM_CLK PIUB RCV_DATA...
Page 302
Table 7-39 GBUS$SERNUM Register Bit Definitions (Continued) Name Bit(s) Type Function <4:3> R/W, 0 Expander Select. Selects which cabinet the EXPSEL power supply UART lines are logically connected to and, therefore, which set of three 48V power sup- plies are connected to the PS lines. May be used by console when TLDIAG<FRIGN>...
SECR—Serial EEPROM Control/Data Register Address BB + 0000 1800 Access The SECR register is used to access the EEPROM on the memory module. Access to the EEPROM is accomplished by continual up- dates of this register by software. RSVD SCLK XMT_SDAT RCV_SDAT BXB-0729-94...
MIR—Memory Interleave Register Address BB + 0000 1840 Access The MIR register is used by memory to determine DRAM RAS se- lection based upon how a given memory module is configured on the TLSB. Console software initializes this register upon start-up after system or node reset.
Table 7-42 MIR Register Bit Definitions Name Bit(s) Type Function <31> R/W, 0 Valid. When set, enables the module to re- VALID spond to TLSB memory space transactions. <30:3> Reserved. Read as zero. RSVD <2:0> R/W, 0 Interleave. The value of this field loaded by INTLV console during system initialization determines whether this module is 1,2,4,8 or 16-way inter-...
MCR—Memory Configuration Register Address BB + 0000 1880; BSB + 0000 1880 Access The MCR register provides information about the DRAM array structure including DRAM type and number of strings installed. It includes a battery OK indication and battery disable when used with the SRAM option.
Table 7-43 MCR Register Bit Definitions Name Bit(s) Type Function <31> R, none Battery OK. Indicates the state of the batteries when memory is configured to support the SRAM (NVRAM) option. When set, the battery supply is sufficient and present. When clear, two possibilities exist.
Page 309
Table 7-43 MCR Register Bit Definitions (Continued) Name Bit(s) Type Function <9> R, X Option Installed. This field specifies whether OPTION the SRAM option or the DRAM option is in- stalled. When read as a value of zero, the SRAM is installed.
Page 310
Table 7-43 MCR Register Bit Definitions (Continued) Name Bit(s) Type Function <5:4> R/W, 0 DRAM Timing Rate. This field is used to mod- ify the DRAM timing and refresh rate. At reset, DRAM timing defaults to supporting a 10 ns bus cycle time, while the refresh rate defaults to sup- porting a 30 ns bus.
STAIR—Self-Test Address Isolation Register Address BB + 0000 18C0 Access The STAIR register is used to isolate self-test failures to a given ad- dress segment or segments in the case of multiple failures in a module. This register breaks up a memory module into at most 32 distinct address segments, which would be the case of a 2-Gbyte module.
STER—Self-Test Error Register Address BB + 0000 1900 Access The STER register contains address information pertaining to data mismatch failures while self-test executes in POEM (pause on er- ror) mode. The contents of this register when read after an error has been detected in POEM mode can be used to isolate the failing DRAM string and to indicate which of the four MDIs the error was detected in.
Table 7-46 STER Register Bit Definitions Name Bit(s) Type Function <31:8> Reserved. Read as zero. RSVD <7> W1C, 0 Self-Test Error in MDI3. Set during POEM mode when STE3 MDI3 detects a data mismatch error. The setting of this bit locks bit <6> (STE2), bit <5> (STE1), bit <4> (STE0), and bits <2:0>...
MER—Memory Error Register Address BB + 0000 1940 Access The MER register provides the DRAM string that failed when an ECC error is detected during a memory read transaction. This in- formation in conjunction with the error syndrome registers can be used to isolate correctable ECC errors down to a failing DRAM component.
MDRA—Memory Diagnostic Register A Address BB + 0000 1980 Access MDRA register A is used by diagnostics and manufacturing to force error conditions in the memory module and isolate failures. 31 30 29 28 27 RSVD DEDA: TLSB Data Err Dis POEMC: Pause on Err Mode Cont POEM: Pause on Err Mode FRUN: Free Run...
Page 317
Table 7-48 MDRA Register Bit Definitions (Continued) Name Bit(s) Type Function <29:28> R/W, 01 Refresh Rate. Determines the refresh rate of the module. <RFR> Refresh Rate 2X (Default) Reserved <27:9> Reserved. Read as zero. RSVD DEDA <8> R/W, 01 TLSB_DATA_ERROR Disable. When set and used in conjunction with POEM or FRUN modes, TLSB_DATA_ERROR will not assert if an error is detected.
Page 318
Table 7-48 MDRA Register Bit Definitions (Continued) Name Bit(s) Type Function <6> R/W, 01 Pause on Error Mode. When set, self-test will POEM halt execution upon the detection of a data mis- match error. TLSB_DATA_ERROR is asserted and remains asserted providing that <DEDA> is cleared, until either <POEM>...
Page 319
Table 7-48 MDRA Register Bit Definitions (Continued) Name Bit(s) Type Function <2> R/W, 0 Force Column Address Parity Error. When FCAPE set, incorrect DRAM column address parity is written into the addressed location when a match is detected between the TLSB address and the MDRB register and when <AMEN>...
MDRB—Memory Diagnostic Register B Address BB + 0000 19C0 Access Memory Diagnostic Register B contains a 32-bit 64-byte aligned ad- dress value that is directly compared to TLSB_ADR<37:6>, or an address generated by the self-test address generator. The value loaded into this register is used in conjunction with MDRA and DDR0:3 to cause a specific data bit and/or check bit to be flipped whenever a TLSB memory write address matches the value con- tained in this register.
STDERA,B,C,D,E—Self-Test Data Error Registers Address BB + 0001 0000 to 0001 C100 Access The four sets of STDERx_n registers are used to isolate self-test failures down to a single failing bit or bits. When self-test is exe- cuted any data bit error(s) that are detected by the self-test data compare logic will set the appropriate data bit(s) in these regis- ters.
Table 7-50 STDER A, B, C, D Register Bit Definitions Name Bit(s) Type Function <31:0> R/W, 0 Self-Test Data Error Register_A. One or STDERA more bits set indicate a self-test data bit error. The contents of this register can be used to iso- late self-test failures to a single failing bit.
Table 7-51 STDERE Register Bit Definitions Name Bit(s) Type Function <31:19> Reserved. Read as zero. RSVD <18:16> R, X Valid Residue Check. This 3-bit read-only field is loaded at the beginning of the third pass in self-test and specifies which one of eight val- ues will be used by the self-test data-checking logic to determine that the self-test data linear feedback shift register logic is working correctly.
DDR0:3—Data Diagnostic Registers Address BB + 0001 0140; 0001 04140; 0001 8140; 0001 C140 Access There are four DDR registers, one in each of the four MDI ASICs. They are used by diagnostics and manufacturing to force error conditions, to isolate failures, and to margin the DC to DC power converters.
Page 325
Table 7-52 DDRn Register Bit Definitions (Continued) Name Bit(s) Type Function <15> R/W, 0 Enable Flip Data Bit. When set in conjunction EFLPD with MDRA<AMEN>, the data bit selected in DFLP<13:8> is flipped during memory write transactions. This function allows diagnostics to check ECC error detection logic.
Page 326
Table 7-52 DDRn Register Bit Definitions (Continued) Name Bit(s) Type Function <2> R/W, 0 Inhibit Clear on Free Run. When set in con- ICFR junction with MDRA<FRUN>, the contents of the STDER registers accumulate errors detected by self-test. When ICFR is cleared, the contents of the STDER registers will be cleared when self- test reenters the start execution phase due to <FRUN>...
7.6 I/O Port-Specific Registers The I/O port responds to all addresses within its node space. If, however, the I/O port receives a read to a nonimplemented CSR, the I/O port returns Unpredictable data, with good ECC. Table 7-53 shows the mapping of the I/O port-specific registers.
RMRR0-1—Memory Channel Range Registers Address BB + 1E00 to 1EC0 Access The I/O port houses two incoming Memory Channel address range register pairs. These register pairs are not specific to a single hose, but are generic across all four hoses. The I/O port compares the addresses of all incoming DMA write packets to the contents of these registers, regardless of the originating Up Hose.
Table 7-54 RMRR0-1 Register Bit Definitions Name Bit(s) Type Function <31> R/W, 0 Valid. When set, the contents of this register VALID is valid. <30:28> R/W, 0 Reserved. Read as zeros. RSVD <27:8> R/W, 0 Base Address <39:20>. The address of Mem- BASE_ADR<38:20>...
ICCMSR—I/O Control Chip Mode Select Register Address BB + 2000 Access The ICCMSR register can be used by software to select the desired mode of operation for the I/O port. RSVD SUP_CTL<1:0> ARB_CTL<1:0> BXB-0768-94 Table 7-55 ICCMSR Register Bit Definitions Name Bit(s) Type...
Page 331
Table 7-55 ICCMSR Register Bit Definitions (Continued) Name Bit(s) Type Function <3:2> R/W, 0 Suppress Control. This field can be pro- SUP_CTL<1:0> grammed to select the number of outstanding transactions the I/O port will permit on the TLSB before it asserts TLSB_ARB_SUP. No node, including the I/O port, may arbitrate for the TLSB address bus until TLSB_ARB_SUP is deasserted.
Page 332
Table 7-55 ICCMSR Register Bit Definitions (Continued) Name Bit(s) Type Function <3:2> R/W, 0 SUP_CTL<1:0> SUP_CTL Function Suppress after 2 transactions. If the I/O port detects 2 outstanding transactions pending on the TLSB, it asserts TLSB_ARB_ SUP during the command/ ad- dress cycle of the second transac- tion for one cycle, then deasserts it for one cycle.
Page 333
Table 7-55 ICCMSR Register Bit Definitions (Continued) Name Bit(s) Type Function <1:0> R/W, 0 ARB_CTL<1:0> ARB_CTL Function If the I/O port does not issue a 00 (Cont) back-to-back request to the same memory bank, that is, at least one potential request cycle to that memory bank occurs, then the next request to that memory bank by the I/O port can be initiated...
Page 334
Table 7-55 ICCMSR Register Bit Definitions (Continued) Name Bit(s) Type Function <1:0> R/W, 0 ARB_CTL<1:0> ARB_CTL Function Toggle 50% high/50% low mode. The I/O port always arbitrates on TLSB_REQ8_HIGH once, fol- lowed by TLSB_REQ8_LOW once for a given memory bank. This guarantees that the I/O port wins that memory bank at least 50% of the time.
ICCNSE—I/O Control Chip Node-Specific Error Reg Address BB + 2040 Access The ICCNSE register logs the collective error information relative to the internal operations of the I/O port. The following errors leave the I/O port in an Unpredictable state. If any of these errors occur, the I/O port should be reset to initial- ize it to a predictable state.
Table 7-56 ICCNSE Register Bit Definitions Name Bit(s) Type Function <31> R/W, 0 Interrupt on NSES. When set, globally en- INTR_NSES ables all error interrupt sources on the I/O port. If an error is detected and this bit is set, the I/O port posts a level 17 interrupt to the CPU.
Page 337
Table 7-56 ICCNSE Register Bit Definitions (Continued) Name Bit(s) Type Function <26:25> W1C, 0 Up Vortex Error. This field is a composite UP_VRTX_ERR error field of possible Up Turbo Vortex errors that the ICR gate array can detect. There are two separate Up Turbo Vortex buses, one for hose<3:2>...
Page 338
Table 7-56 ICCNSE Register Bit Definitions (Continued) Name Bit(s) Type Function <22> W1C, 0 Multiple Interrupt Error. The I/O port has MULT_INTR_ERR four TLILID FIFOs, one for each IPL. Each TLILID FIFO is four entries deep, so it can ac- cept up to four pending interrupts for the given IPL level.
Page 339
Table 7-56 ICCNSE Register Bit Definitions (Continued) Name Bit(s) Type Function <15:12> W1C, 0 Up Hose Packet Error. This field indicates UP_HOSE_PKT_ERR that one of the Up HDR gate arrays detected either an illegal command or sequence error on the corresponding Up Hose. An IPL17 interrupt is generated when these bits set if interrupts are enabled by INTR_NSES (ICCNSE<31>).
ICCDR—I/O Control Chip Diagnostic Register Address BB + 2080 Access The ICCDR register can be programmed by diagnostics to force er- rors on the TLSB and Turbo Vortex buses for the I/O port to detect. Hose errors can also be forced, but this is a function of the loopback feature.
Table 7-57 ICCDR Register Bit Definitions Name Bit(s) Type Function <31> R/W, 0 Enable DMA Hose ID. When set and the I/O ENA_DMA_HID port is hard-wired to enable debug mode, the number of the hose that originated the transac- tion is inserted at address bits <26:25> for mem- ory transactions (that is, A<28>=0).
Page 342
Table 7-57 ICCDR Register Bit Definitions (Continued) Name Bit(s) Type Function <4> R/W, 0 Disable TLSB Fault. Setting this bit prevents DIS_TLSB_FAULT the I/O port from driving TLSB_FAULT even if a system fatal error condition is detected by the I/O port. It allows diagnostics to force various fatal TLSB errors (such as APE, ATCE, BBE, DTO, DSE) and various fatal Up Turbo Vortex errors without crashing the system.
ICCMTR—I/O Control Chip Mailbox Transaction Reg Address BB + 20C0 Access The ICCMTR register indicates if a mailbox transaction is in pro- gress and the targeted hose of the transaction. This register is physically located in the ICR gate array. RSVD MBX_TIP<3:0>...
Table 7-58 ICCMTR Register Bit Definitions Name Bit(s) Type Function <31:4> Reserved. Read as zeros. RSVD <3:0> W1C, 0 Mailbox Transaction in Progress. Indicates MBX_TIP<3:0> that the I/O port has transmitted a Mailbox Command packet, targeting the corresponding hose, across one of the Down Turbo Vortex buses.
ICCWTR—I/O Control Chip Window Transaction Reg Address BB + 2100 Access The ICCWTR register indicates if a window transaction is in pro- gress and the targeted hose of the transaction. This register is physically located in the ICR gate array. RSVD WIP<3:0>...
IDPNSE0–3—I/O Data Path Node-Specific Error Regs Address BB + 2A40, 2140, 2240, 2340 Access The IDPNSE0–3 registers are physically located in the correspond- ing IDR0–3 I/O port gate arrays. They log the collective error infor- mation related to the internal operations of the gate arrays. The following errors leave the I/O port in an Unpredictable state.
Table 7-60 IDPNSE0–3 Register Bit Definitions Name Bit(s) Type Function <31> W, 0 HOSEn Reset. When this bit is written to a HOSEn_RESET one, the I/O port generates a reset to the associ- ated hose as follows: HOSEn_RESET in IDPNSE3 causes a reset to be generated to HOSE 3 HOSEn_RESET in IDPNSE2 causes a reset to be generated to HOSE 2...
Page 348
Table 7-60 IDPNSE0–3 Register Bit Definitions (Continued) Name Bit(s) Type Function <26:25> W1C, 0 IDR Up Vortex Error. This is a composite er- IDR_UP_VRTX_ERR ror field of possible Up Turbo Vortex errors that the IDR gate arrays can detect in each of the IDR0-3 data path gate arrays as follows: IDR_UP_VRTX_ERR<1:0>...
Page 349
Table 7-60 IDPNSE0–3 Register Bit Definitions (Continued) Name Bit(s) Type Function <3> W1C, X HOSEn Power OK Transitioned. This bit is HOSEn_PWROK_TR latched whenever the associated HOSEn_ PWROK signal transitions. HOSEn_PWROK can then be read to determine the reason why this bit set.
Page 350
Table 7-60 IDPNSE0–3 Register Bit Definitions (Continued) Name Bit(s) Type Function <1> R, X HOSEn Power OK. This bit is derived from HOSEn_PWROK the HOSEn_PWROK signal and reflects its cur- rent level. If the associated hose cable is con- nected properly to the I/O adapter and has suffi- cient power to process commands, then this bit will be a 1.
IDPDRn—I/O Data Path Diagnostic Registers Address BB + 2A80, 2180, 2280, 2380 Access The IDPDRn registers can be programmed by diagnostics to force errors on the TLSB and Turbo Vortex buses for the I/O port to de- tect. System bus errors are transmitted on the TLSB and are de- tected by the I/O port when the signals are received back.
Table 7-61 IDPDR0–3 Register Bit Definitions Name Bit(s) Type Function <31> R/W, 0 Voltage Margin. When set, the module’s 5.0 VOLT_MARG and 3.35 volt DC to DC converters are margined over a +/− 5% range. IDR Register Voltage Margin IDPDR0 −5% IDPDR1 3.5.
Page 353
Table 7-61 IDPDR0–3 Register Bit Definitions (Continued) Name Bit(s) Type Function <19> R/W, 0 Force Down Valid Sequence Error. When FRC_VAL_SEQ_ERR set, forces VALID to be asserted for an extra cycle for down Turbo Vortex Mailbox Command packets. <18> R/W, 0 Force Down Data Parity Error.
Table 7-62 Error Matrix for Force Error Bits Set Diagnostic Bit Perform Transaction Detect Error Write to CSR in IDR1 IDPNSE1<IDR_CSR_BUS_PE> IDPDR0<FRC_CSR_BUS_DPE> Write to CSR in IDR2 IDPNSE2<IDR_CSR_BUS_PE> IDPDR0<FRC_CSR_BUS_DPE> Write to CSR in IDR3 IDPNSE3<IDR_CSR_BUS_PE> IDPDR0<FRC_CSR_BUS_DPE> Write to CSR in ICR ICCNSE<ICR_CSR_BUS_PE>...
IDPVR—I/O Data Path Vector Register Address BB + 2B40 Access The IDPVR register is loaded by software with the vector associ- ated with I/O port-specific errors. 16 15 VECTOR<15:0> RSVD BXB-0759-93 Table 7-63 IDPVR Register Bit Definitions Name Bit(s) Type Function <31:16>...
IDPMSR—I/O Data Path Mode Select Register Address BB + 2B80 Access The IDPMSR register can be used by software to select the desired mode of operation for the I/O port. RSVD HDR_LPBCK_EN ENA_HOSE_VECT BXB-0761-94 7-138 System Registers...
Table 7-64 IDPMSR Register Bit Definitions Name Bit(s) Type Function <31:2> R/W, 0 Reserved. Read as zeros. RSVD <1> R/W, 0 HDR Loopback Enable. When set, enables HDR_LPBCK_EN the I/O port to internally loopback Mailbox Command packets and Sparse Window Read packets between the Down Hose and Up Hose.
IBR—Information Base Repair Register Address BB + 2BC0 Access The IBR register is used to access the EEPROM located on the I/O port. To access the EEPROM, software continually updates the IBR register to transfer command, address, and data to and from the device.
Table 7-65 IBR Register Bit Definitions Name Bit(s) Type Function <31:3> R/W, 0 Reserved. Read as zeros. RSVD <2> R/W, 0 Serial Clock. Used to implement the SCLK FEPROM serial clock interface by software. When this bit is written with a one, the FEPROM serial clock input is forced to a logic high.
7.7 KFTIA Specific Registers Registers specific to the integrated I/O module, the KFTIA (registers in ad- dition to those specific to the KFTHA module) can be grouped in two classes: • PCIA registers • PCI device registers The discussion of these registers is beyond the scope of this manual. PCIA registers are discussed in the DWLPA PCI Adapter Technical Manual.
Chapter 8 Interrupts The TLSB supports both vectored and nonvectored interrupts. • Vectored interrupts are the traditional I/O adapter interrupts, where the processor dispatches the interrupt based on an IDENT (identifica- tion) vector supplied by the adapter. The value of the IDENT vector is loaded into each adapter at system initialization.
CSR read data (passive release). 8.1.2 CPU Interrupt Rules Both AlphaServer 8200 and 8400 systems support up to three I/O modules. Each I/O module can generate four interrupts at level 0, four at level 1, four at level 2, and five at level 3. Thus, one I/O port can have 17 out- standing interrupts.
• The targeted CPUs are interrupted at an appropriate level and the CPU issues a CSR read transaction over the TLSB bus to the TLILIDn register for the relevant interrupt level to get the interrupt vector. • After the CSR read of TLILIDn is successfully completed, the I/O mod- ule considers the interrupt to be serviced.
Refer to Chapter 7 for the format of all registers used in the interrupt op- eration. 8.3.1.1 Virtual Node Identification - TLVID TLSB system functionality requires that certain units be identified uniquely, independent of physical location in the system. Specifically, indi- vidual memory banks and CPUs must be uniquely addressable entities at the system level, independent of their physical node ID.
only to TLIOINTR4. Interrupts at the IPL level(s) specified in bits <19:16> are targeted at the VIDs specified in bits <15:0> (see Chapter 7). 8.3.2 Generating Interrupts The TLCPUMASK for each I/O port and the TLINTRMASK for each CPU are set up by the console. To generate an interrupt, the I/O port issues a write to its corresponding TLIOINTRn register in TLSB broadcast space.
TLIPINTR register and interrupts either (or both) of the CPUs as appro- priate, based on their virtual node IDs. The interprocessor interrupt is cleared by a write to TLINTRSUM<IP>. 8.3.5 Module-Level Interrupts The CPU module uses the hardware interrupts provided as shown in Table 8-1.
Page 367
Glossary Address gate array. Bank Smallest group of DRAMs that can be interleaved. A bank consists of one or more strings. Block 64 bytes of data within naturally aligned boundaries. Control address interface. DRAM data bus. The 576-bit bidirectional data bus that interfaces be- tween the DRAM chips and the MDC gate arrays.
Page 368
Fast, narrow, single-ended. Fast, wide, differential. Internal Hose The connection (etch pathway) between the TLSB interface and the inte- grated I/O section of the KFTIA. HDR (DC296) Hose to I/O data path chip. Hose The interface between the I/O port and a single I/O bus adapter module. ICR (DC295) I/O control chip.
Page 369
TLSB The system bus for Digital AlphaServer 8200 and 8400 systems. Turbo Vortex bus The bus that interconnects the HDR, IDR, and ICR chips.
Page 371
Index Address bus request, 2-13 Address bus sequencing, 2-11 ABTCE, 7-8 Address bus transactions, 2-12 Accessing remote I/O CSRs, 6-15 Address Bus Transmit Check Error bit, 7-8 Accessing through I/O window space, 6-15 Address decode, 2-10 Accessing through mailboxes, 6-14 Address Extent bits, 7-71 Access, remote I/O CSR, 6-14 Address Mask bits, 7-22...
Page 372
A2MAPE1, 7-61 states, 4-4 state changes, 4-5 B-Cache Idle Time bits, 7-53 B-Cache Size bit, 7-53 Backup cache, 1-4, 4-2 B-Cache Size bits, 7-80 BAE, 7-12 B-cache states, 4-4 BANKV, 7-24 B-cache tags, 4-3 Bank address decoding, 2-9 Bank available flags, 5-4 Bank available status, 2-11 Bank available transition, 2-14 Cache...
Page 373
Correctable Read Data Error bit, 7-9 CSR bank contention, 2-15 Correctable Read Data Error Interrupt Disable CSR bus parity errors, 6-77 bit, 7-18 CSR interface context, 5-13 Correctable Read ECC Error bit, 7-27 CSR interface, memory, 5-13 Correctable Write Data Error bit, 7-9 CSR multiplexing, memory, 5-16, 5-17 Correctable Write Data Error Interrupt CSR reads to remote I/O, 2-32...
Page 374
Data return format, 2-19 Disable Refresh bit, 7-98 Data status errors, 2-41, 6-73 Disable TLSB Command Transmission bit, Data Status Error bit, 7-8 7-124 Data Syndrome 0 bit, 7-9 Disable TLSB Fault bit, 7-124 Data Syndrome 1 bit, 7-9 Distributed arbitration, 2-12 Data Syndrome 2 bit, 7-9 DIS_DN_HOSE_RST, 7-134 Data Syndrome 3 bit, 7-9...
Need help?
Do you have a question about the AlphaServer 8200 and is the answer not in the manual?
Questions and answers