.mt 6 .mb 6 .pl 66 .ll 65 .po 10 .nf .hm 2 .fm 2 .he ********** MP/M-86 Seminar Notes ********** .fô Alì Informatioî Hereiî ió Proprietarù Tï Digitaì Research¬ Inc. .nf .pa .sp 2 .ce 100 .sh MP/M-86 Memory Management .sh ========================= .sp 2 Memory Parameter Block (MPB) Format: .sp +------+------+------+------+------+------+------+------+\ | START | MIN | MAX | *PDADDR |\ +------+------+------+------+------+------+------+------+\ | *FLAGS | \ +------+------+ \ .sp FLAGS: .sp 00001H LOAD \ 00002H SHARE \ 00004H CODE \ 00008H\\ \ ... > RESERVED\ 08000H/ \ .sp 2 Memory Free Parameter Block (MFPB) Format: .sp +------+------+------+------+\ | START | *PDADDR |\ +------+------+------+------+\ .sp 2 Memory Segment Descriptor (MSD) Format: .sp +------+------+------+------+------+------+------+------+\ | *LINK | *START | *LENGTH | *FLAGS |\ +------+------+------+------+------+------+------+------+\ | *MAU | \ +------+------+ \ .ce 0 .pa .ce 100 .sp 2 .sh MP/M-86 Extended Fixed Partition Model .sh -------------------------------------- .sp 2 Memory Free List (MFL) .sp +-----+-----+ \ | o | \ +-----|-----+ \ V Memory Partition Descriptor (MPD) \ +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+\ | LINK | START | LENGTH | XXXXX | XXXXX |\ +-----|-----+-----+-----+-----+-----+-----+-----+-----+-----+\ V \ ... \ +-----+-----+-----+--- \ | 0 | MPD \ +-----+-----+-----+--- \ .sp 2 Memory Allocation List (MAL) .sp +-----+-----+ \ | o | \ +-----|-----+ \ V Memory Allocation Unit Descriptor (MAUD) \ +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+\ | LINK | START | LENGTH | PLIST | XXXXX |\ +-----|-----+-----+-----+-----+-----+-----|-----+-----+-----+\ | V \ | +-----+-----+-----+--- \ | | o | MPD ... \ | +-----|-----+-----+--- \ V V \ .ce 0 .pa .ce 100 .sp 2 .sh MP/M-86 Memory Allocation Unit (MAU) .sh ------------------------------------ .sp 2 HIGH +---------------------------------+\ | |\ | |\ | Allocatable Memory |\ | |\ | |\ | |\ +---------------------------------+\ | Sub-Allocation Table (SAT) |\ LOW +---------------------------------+\ .sp 2 Sub-Allocation Table (SAT) Format: .sp +------+------+------+------+------+\ |# ent.| RESERVED |\ +------+------+------+------+------+\ | START | LENGTH | NALL |\ +------+------+------+------+------+\ | START | LENGTH | NALL |\ +------+------+------+------+------+\ | | | |\ /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\\ /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\\ | | | |\ +------+------+------+------+------+\ | 0 | 0 | 0 |\ +------+------+------+------+------+\ .sp 2 .sh MP/M-86 Memory Usage at Load Time .sh --------------------------------- .sp 2 HIGH +---------------------------------+Ü | |\ | PROGRAM AREA |\ | |\ +20H +---------------------------------+Ü | STACK |\ +1AH +---------------------------------+Ü | UDA |\ +0AH +---------------------------------+Ü | SAT |\ +00H +---------------------------------+Ü .ce 0 .pa .ce 100 .sp 2 Resident System Process (RSP) Memory Models =========================================== .sp 8080 Model Small Model\ +----------+ +----------+\ | (Header) | | Code |\ | | | |\ | Mixed | +----------+\ | Code & | | (Header) |\ | Data | | Data |\ | | | |\ +----------+ +----------+\ .sp 2 RSP Header Format: .sp +------+------+------+------+------+------+------+------+\ 00 | SYSDAT | SDATVAR | NCP | RESERVED |\ +------+------+------+------+------+------+------+------+\ 08 | RESERVED |\ +------+------+------+------+------+------+------+------+\ 10 | PROCESS DESCRIPTOR |\ | |\ +-------------------------------------------------------+\ 40 | |\ | UDA |\ | |\ | |\ +-------------------------------------------------------+\ 140| |\ | PROGRAM DATA AREA |\ | |\ +-------------------------------------------------------+\ .ce 0 .pa .sp 2 .ce 100 .sh Multiple Copies of RSP's .sh ------------------------ .sp 2 Example of 3 Copies of 8080 Model, Small Model and Shared Code Model .sp 2 8080 Model: .sp +----------+ +----------+ +----------+\ | ncp=0 | | ncp=1 | | ncp=2 |\ | | | | | |\ | Code | | Code | | Code |\ | and | | and | | and |\ | Data | | Data | | Data |\ | | | | | |\ +----------+ +----------+ +----------+\ .sp 2 Small Model: .sp +----------+ +----------+ +----------+\ | Code | | Code | | Code |\ | | | | | |\ +----------+ +----------+ +----------+\ | ncp=0 | | ncp=1 | | ncp=2 |\ | | | | | |\ | Data | | Data | | Data |\ | | | | | |\ +----------+ +----------+ +----------+\ .sp 2 Shared Codel Model: .sp +----------+ \ | Code | \ | | \ +----------+ \ .sp +----------+ +----------+ +----------+\ | ncp=0 | | ncp=1 | | ncp=2 |\ | | | | | |\ | Data | | Data | | Data |\ | | | | | |\ +----------+ +----------+ +----------+\ .ce 0