DYNEX MAS31751AE, MAS31751AD, MAS31751AC, MAS31751FS, MAS31751FL Datasheet

...
0 (0)
MA31751
1/17
The MA31751 Memory Management Unit/Block Protect
Unit (MMU/BPU) is an optional chip which may be used to
expand the capabilities of the MA31750.
User configurable, the MA31751 can perform as an MMU,
a BPU or both MMU and BPU, conforming to MIL-STD-1750A
and 1750B. MMU mapping and BPU protection for 1M words
mapped onto 8M words of physical address space with
protection in 1750B mode.
The MA31751 is designed to have a simple interface to
both the CPU and the system bus with the minimal number of
control lines. This reduces board space and simplifies system
design.
The MA31751 traps the MMU and BPU XIO commands to
program and read the logical to physical mapping and memory
access control. This provides simple memory management as
defined by the MIL-STD-1750.
Figure 1: Chip Control Signals
FEATURES
MlL-STD-1750A/B Compatible
Radiation Hard CMOS/SOS Technology
User Configurable as Either a Memory Management Unit
(MMU) or a Block Protect Unit (BPU) or Both
Memory Management Unit Configuration
• 1 MWord Physical Address Space
• Access Lock and Key of 4K-Word Blocks
• Write/Execute Protection of 4K-Word Blocks
Block Protect Unit Configuration
• Protection of 1K-Word Blocks
• Global Memory Write Protection During Initialisation
Direct Memory Access Support
A[0:15]
AS[0:3]
PS[0:3]
OIN
MION
RDWN
ASIN
DSN
DMAKN
CSN
RESETN
VDD
GND
D[0:16]
PRPEN
MPROEN
GLPE
EA[0:10]
EAS
MA31751
CPU
Busses
Bus
Control
Chip
Control
Signals
System
Signals
System
Faults
BPUVALIDN
HITMISSN
MA31751
Memory Management & Block Protection Unit
Replaces June 1999 version, DS4083-2.0 DS4083-3.0 January 2000
MA31751
2/17
1.0 DEVICE OPERATION
The MA31751 is an interface device designed to increase
the memory addressing capability of the MA31750 CPU. It is
user configurable as an MMU and/or a BPU conforming to the
MIL-STD-1750A and the proposed MIL-STD-1750B. The
MMU provides expanded addressing and full access lock/key
protection in both modes, together with write/execute
protection on 4K pages.
The BPU allows up to 1M words of memory to be protected
in 1K blocks (MlL-STD-1750A). Up to 8M words may be
protected by multiple MMU/BPU units (draft MIL-STD-1750B).
In 1750A mode, one MA31751 unit can act as both MMU
and BPU for the maximum 1M words of address space. In
1750B mode, up to 8 MA31751 units may be used to provide
the maximum BPU functions and up to 16 units for the
maximum MMU functions. For any given physical memory
location the MMU and BPU function may be split across two
MA31751 devices depending on the logical to physical
address mapping.
1.1 INITIALISATION
The MA31751 is initialised by the CPU when a system
reset occurs. Initially all mappings are set one to one to give a
linear 1M word logical to physical mapping. The BPU defaults
to no protection on a reset and requires 256 machine cycles
(AS pulsing) to set the internal BPU memory. The CPU
recognises the presence of the MMU/BPU by the setting of
appropriate bits in the configuration register. When the
configuration register is read, the MA31751 stores MMU, BPU,
parity and 1750 mode information internally. The CPU may
change the mapping and access protection when it is in
privileged instruction mode using XIO commands 4D00 to
52FF as defined in MIL-STD-1750.
1.2 ADDRESS TRANSLATION AND PROTECTION
The MMU maps system memory into 4K word pages by the
mechanism shown in figure 3. A page is a block of physical
memory which is uniquely specified by the physical page
address, the PPA. A given address within any page is specified
by the least significant 12 bits of the CPU address bus. One
page register has the physical page address and the access
control information relating to one page. There are 512 page
registers, organized into 16 sets. The 16 sets are addressed by
AS[0:3]. Each set has two groups of page registers, one for
operand memory space and one for instruction memory space.
These are addressed by OIN. Each group contains 16 page
registers accommodating a total of 256 registers for each of
operand and instruction memory space.
The MMU also checks for protection violation by
comparing the processor state (PS), read from the CPU status
word, with the access lock (AL) field in the page register. An
additional bit in each page register allows the system to
disable writes to operand pages or reads (execution) of
instruction pages. If any memory violation occurs, the memory
protect output (MPROEN) is asserted low. This typically
causes a bus-fault-timeout on the processor which aborts the
error cycle.
Figure 2 illustrates the Access Key mapping mechanism.
When memory transactions are controlled by the MA31750,
the AS[0:3] and PS[0:3] bits necessary to perform the address
obtained from a copy of the processor status word held by the
MMU. Modifications to the CPU status word are reflected in the
MMU copy.
Figure 4 illustrates the standard way to map the logical
CPU addresses, AS[0:3] and PB[0:3] onto the physical
extended address bus for both 1750A (a 20-bit physical
address) and for 1750B (a 23-bit physical address). Figure 5
shows the various selections to achieve the required memory
size and protection.
1.3 BLOCK PROTECTION
The presence of a BPU in the system is determined from
the CPU configuration word. A BPU present in the system
offers protection of the physical memory in 1k blocks. It takes
the physcial address from the EA bus hence the BPU
protection cannot start until the MMU lookup has completed
and EAS rises. If no MMU is present, the physical address is
read from the processor address bus. The address selects the
relevant 16 bit word from the BPU RAM or cache. Each bit in
this word represents the protection on 1k of physical memory.
Any attempt to write a protected block results in an access
violation error from the BPU.
NOTE: MIL-STD-1750 states that the MSB of the Block
Protect Register (BPR) should protect the least significant
address block.
1.4 DIRECT MEMORY ACCESS
The MA31751 supports DMA access within the expanded
memory space, including translation and protection. When a
DMA controller is performing memory transactions, it must
provide the AS[0:3] and PS[0:3] signals to the inputs of the
MMU for address translation and access protection.
AL Code
Acceptable Access Key Codes
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
0,A
0,B
0,C
0,D
0,E
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Figure 2: Access Lock and Key Mapping
MA31751
3/17
AL E RES PPA
W RES
AL W RES PPA
PPA
PPA
AL E RES PPA
AL
W RES PPA
AL W RES PPA
AL W RES PPA
0 3 4 5 7 8 15
Instruction
Operand
LPA
4
16-bit logical
address
Address of
word within
4k page
Logical
Address of
4k page
8 bits 12 bits
Extended
Address
Address
8/11-bit address
expansion
12-bit logical
address
8
12
16
words
32
groups
ASPS
from CPU status word
DMA
AS
PS
DMAKN
5
Group address
OIN
Lock and key
access protection
Protect logic
4
4
Access
violation
*
* These 3 bits are reserved in 1750A. In 1750B they are used as
extra PPA bits to form the MSB's of the extended address bus.
*
*
*
*
MPROEN
Execute
protect
Write
protect
3
3 bits
1750B
12 LSB of Address
Page Register
Page Register
Figure 3: MMU Memory Mapping Mechanism
MA31751
4/17
AS[0:3] A[0:15]
EA[3:10] A[4:15]
PB[0:3] AS[0:3] A[0:15]
EA[0:10] A[4:15]
1750A
Addressing
Logical
Physical
1750B
Addressing
Logical*
Physical
1750A Extended Physical Address [0:19]
1750B Extended Physical Address [0:22]
EA3 A4 A15
AS0 AS3 A0
PA0 PA19
EA10
A15
PA0 PA22
A15A4EA10EA0
PB0 PB3 AS3AS0 A15A0
* There are 16M words of logical address in 1750B. The 16MWord
logical to 8MWord physical mapping is user defined.
Figure 4: Extended Address Mapping in 1750A/B Mode
Figure 5: MA31751 Selection Chart for Varying Memory Requirements
Addressable
Physical
Memory
Addressable
Logical
Memory
Is BPU
Protection
Required?
Mode Number of
MMUs
Number of
BPUs
Number of
MA31751s
Required
64KW 64KW NO A 0 0 0
1MW 1MW NO A 1 0 1
64KW 64KW YES A 0 1 1
1MW 1MW YES A 1 1 1
64KW 64KW NO B 0 0 0
8MW 1MW NO B 1 0 1
8MW 2MW NO B 2 0 2
8MW 4MW NO B 4 0 4
8MW 8MW NO B 8 0 8
8MW 16MW NO B 16 0 16
64KW 64KW YES B 0 1 1
8MW 1MW YES B 1 8 8
8MW 2MW YES B 2 8 8
8MW 4MW YES B 4 8 8
8MW 8MW YES B 8 8 8
8MW 16MW YES B 16 8 16
Notes: 1. Memory is specified in terms of addressable instruction space.
2. It is assumed that the whole of the physical address space is used in 1750B - if this is not the
case the number of MA31751 chips may be reduced.
MA31751
5/17
2.0 TIMING CONSIDERATIONS
2.1 MMU TIMINGS
To enable a fast page register look-up time, the MMU has
two fast translation cache registers. These hold the address
translation information on the 4K memory page which is
currently being accessed. When the CPU has control of the
system, one cache register is for operand transfers and one for
instruction transfers, as these often occur in different pages.
The appropriate translation cache register is chosen by the
operand/instruction (OIN) signal from the CPU. When a DMA
the appropriate cache being selected by the RDWN signal.
When either an instruction/read or an operand/write crosses a
page boundary, one wait state may be added whilst the
translation cache register is updated from internal memory.
This system minimises the MMU overhead.
2.2 BPU TIMINGS
A similar caching system is employed in the BPU section
of the MA31751 to allow more rapid detection of access
violations. If the physical address crosses a 16K block
boundary, then one wait state may be added.
Different combinations of cache hits and misses give
different access times if the MA31751 is acting as both an
MMU and a BPU. If the logical address (from the CPU) gives
an MMU cache hit, the physical address is looked-up from the
translation cache register (operand or instruction, depending
on OIN). If the physical address gives a cache hit, the
protection for the block is looked-up in the BPU cache register.
This situation (both hits) gives the fastest access time. The
access time is a maximum if both logical and physical
addresses give cache misses.
3.0 OUTPUTS FROM THE MA31751
3.1 PRPEN
This signal goes active low if a parity error occurs on a
memory access, ie. there is a parity error in the MMU page
register. There is no parity checking on XIO cycles, (this
should be covered by the processor).
3.2 MPROEN
This signal is always low when ASIN is low. On a memory
address translation is validated. If the translation is erroneous,
it stays low, causing a machine cycle time-out. If a BPU is
present with the MMU, an erroneous translation causes the
output to stay low. If the translation is correct, MPROEN will
still stay low until the BPU check has completed. If there is no
block protection set, MPROEN goes high, allowing the cycle to
proceed. If the block protection is set, MPROEN stays low and
the cycle times out. In a BPU only system, MPROEN indicates
whether or not the protection bit is set for the address being
accessed.
In a 1750B system with both an MMU and BPU present,
MPROEN may glitch between the translation validation and
the protection check (as the MMU and BPU functions may be
on different devices). In this case, MPROEN should be gated
with BPUVALIDN being low before being input to the CPU.
3.3 BPUVALIDN
BPUVALIDN falls to indicate that the output from the BPU
is valid. If no BPU is present, BPUVALIDN remains high.
4.0 PIN DESCRIPTIONS
A description of each pin function appears in Figure 6. The
acronym is presented first, followed by its function and
description. Timing characteristics of each of the functions are
shown in section 6.
All CMOS compatible signals are protected by an
Electrostatic Discharge (ESD) protection circuit. Throughout
this data sheet, active low signals are denoted either by
placing a bar over the signal name,or by following the signal
name with an “N” suffix, e.g.,DSN.
All unused inputs should be connected to their inactive
state and should not be allowed to float.
MA31751
6/17
4.1 SIGNAL DEFINITIONS
Pin Name Function Description
A00-A15 Processor Address Bus An active-high address bus for addresses and XIO commands. A15 is the
LSB.
D00-D16 System Data Bus Data bus used to transfer data to and from the MMU/BPU. D15 is the LSB and
D16 is the parity bit.
EA00-EA10 Extended Address Bus If the MMU is selected (using CSN) then EA0-EA10 provides the system
extended address. EA3-EA10 should be combined with A4-A15 from the
processor to give the full 20 bit 1750A system address bus and EA0-EA10
with A4-A15 gives a 23 bit 1750B system address bus. (See Fig 4).During XIO
transfers, EA7-10 mimic A0-A3 to present the full processor address to the
system. When the MMU is not selected, EA0-EA10 become inputs to allow the
BPU to protect the appropriate section of extended memory.
ASIN Address Strobe In The rising edge of this active-high signal generated by the CPU or DMA
controller, indicates that a valid address is present on the MA31750.
DSN Data Strobe The rising edge of this active-low signal generated by the CPU or DMA
controller, indicates that valid data is present on D00-D16 of the MA31750.
EAS Extended Address Strobe The rising edge of this active-high signal indicates that a valid and stable
extended address is available from the MA31751. This pin becomes an input
when no MMU is selected and should be driven from the system address
strobe. During XIO cycles, EAS follows ASIN.
MION Memory / IO Select This input is used to select between normal operation and command transfer
(XIO) mode. A high indicates memory whilst a low indicates IO. This signal is
provided by the CPU or the DMA controller.
RDWN Read / Write Select This input indicates the direction of data transfer on the data bus. A high level
indicates that the processor is reading the bus whilst a low level indicates that
the processor is driving the bus. The input is driven by the CPU or the DMA
controller.
OIN Operand / Instruction Select This input indicates the type of data on the data bus. A high indicates operand
data whilst a low indicates the presence of instruction data. The signal is
provided by the CPU or the DMA controller.
AS0-AS3 Address State This bus comes from the DMA controller during DMA accesses. It is used by
the MMU as part of the page selection operation. (During CPU operation, this
information is read from the MMU’s copy of the CPU status word). If no MMU
function is required, these inputs should be tied to ground.
PS0-PS3 Processor State This bus comes from the DMA controller during DMA accesses. It is used by
the MMU to provide lock and key protection on page accesses. (During CPU
operation, this information is read from the MMU’s copy of the CPU status
word.) If no MMU function is required, these inputs should be tied to ground.
SYSTEM BUSSES
BUS CONTROL
EXTENDED MEMORY CONTROL
Figure 6: Pin Description Table
Loading...
+ 11 hidden pages