vax-11/780 – a virtual address extension to the dec pdp-11 family ( author : w.d.strecker ) by...

33
Virtual Address Virtual Address Extension to the DEC Extension to the DEC PDP-11 Family PDP-11 Family ( Author : ( Author : W.D.Strecker ) W.D.Strecker ) By Padmaja chowti

Upload: melvyn-wade

Post on 28-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

VAX-11/780 – A Virtual VAX-11/780 – A Virtual Address Extension to the Address Extension to the

DEC PDP-11 FamilyDEC PDP-11 Family

( Author : W.D.Strecker )( Author : W.D.Strecker )

ByPadmaja chowti

Page 2: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

VAX -11VAX -11• VAX-11 is the VAX-11 is the Virtual Address eXtensionVirtual Address eXtension of the of the PDP-11 architecture.PDP-11 architecture.

• VAX-11 architecture was designed to alleviate the VAX-11 architecture was designed to alleviate the PDP-11's most severe limitation: PDP-11's most severe limitation: an address space an address space that was too small for many applicationsthat was too small for many applications. .

• The Virtual Address eXtension (VAX) increased the The Virtual Address eXtension (VAX) increased the address from 16 to 32 bitsaddress from 16 to 32 bits..

• The extension provided The extension provided 4.3 gigabytes of virtual 4.3 gigabytes of virtual address spaceaddress space..

• VAX-11/780VAX-11/780 was the first implementation of the was the first implementation of the VAX-11 architecture.VAX-11 architecture.

Page 3: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

VAX-11 VAX-11 is compatible with PDP-11 in is compatible with PDP-11 in features features like : like : • To run the existing PDP-11 programs, the compatibility To run the existing PDP-11 programs, the compatibility

mode is included.mode is included.

• Data Types and formats are identical in both Data Types and formats are identical in both architectures.architectures.

• Native mode instruction set and addressing modes are Native mode instruction set and addressing modes are close to PDP-11.close to PDP-11.

• VAX-11 native mode assembly language programming VAX-11 native mode assembly language programming is similar to the PDP-11.is similar to the PDP-11.

• Same peripheral buses and same peripherals.Same peripheral buses and same peripherals.

Page 4: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• VMS("Virtual Memory System")VMS("Virtual Memory System") a new a new operating system is evolved from PDP-11 operating system is evolved from PDP-11 RSX-11M/IAS operating system and has RSX-11M/IAS operating system and has extended services. extended services.

• File system and file access methods are File system and file access methods are same.same.

• High level language compilers accept same High level language compilers accept same source languages and compiled programs source languages and compiled programs produce same results.produce same results.

• VAX shares with PDP-11 similar I/O interrupt VAX shares with PDP-11 similar I/O interrupt structures, identical data formats, etc.structures, identical data formats, etc.

Page 5: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

VAX has additional features VAX has additional features likelike::

• The number of general registers got The number of general registers got doubled from 8 to 16. doubled from 8 to 16.

• The instruction set has both two and three The instruction set has both two and three operand formats for many common operand formats for many common operations.operations.

• Additional data types, instructions, new Additional data types, instructions, new addressing modes.addressing modes.

Page 6: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Architectural Goals:Architectural Goals:

• Main goal was to extend the Main goal was to extend the virtual address from 16 to 32 virtual address from 16 to 32 bitsbits..

• A A wide range of data types and addressing modeswide range of data types and addressing modes to to improve bit-efficiency.improve bit-efficiency.

• Maximize the Maximize the compatibility with PDP-11compatibility with PDP-11 in several ways in several ways like:like:

• Instruction set can include Instruction set can include new data types and operatorsnew data types and operators in in consistent with the currently defined operators and data types.consistent with the currently defined operators and data types.

• Instruction formatInstruction format allows for unlimited flexibility to add new allows for unlimited flexibility to add new featured in the future.featured in the future.

• Easy use Easy use by high level languagesby high level languages..

Page 7: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

VAX-11 Native VAX-11 Native Architecture:Architecture: Virtual Address Space:Virtual Address Space: • The address is called Virtual Address as it is not a The address is called Virtual Address as it is not a

real address for a physical memory location.real address for a physical memory location.• It is translated into real address by the processor It is translated into real address by the processor

under operating system control.under operating system control.• A virtual address is not a unique address of a A virtual address is not a unique address of a

location in memory as are the physical memory location in memory as are the physical memory addresses.addresses.

• The set of all possible 32 bit virtual addresses is The set of all possible 32 bit virtual addresses is called called Virtual address spaceVirtual address space. It is viewed as an . It is viewed as an array of byte locations labeled from 0 to 2array of byte locations labeled from 0 to 23232 -1. -1.

• By adding one bit to the size of the virtual By adding one bit to the size of the virtual address doubles the size of the virtual address address doubles the size of the virtual address space.space.

Page 8: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Processor State:Processor State:• VAX -11 has VAX -11 has sixteen 32-bit general registers sixteen 32-bit general registers

(R0 to R15)(R0 to R15) for fixed and floating point for fixed and floating point operands.operands.

• PDP-11 has PDP-11 has eight 16-bit general registerseight 16-bit general registers (R0 to (R0 to R7) and six 64-bit floating point registers, where R7 R7) and six 64-bit floating point registers, where R7 is the Program Counter.is the Program Counter.

The four registers in VAX-11 with special meaning are:The four registers in VAX-11 with special meaning are:

• Program Counter (R15)Program Counter (R15) : Contains the address of : Contains the address of the next byte.the next byte.

• Stack Pointer (R14)Stack Pointer (R14) : Contains the address of the : Contains the address of the top of the processor defined stack.top of the processor defined stack.

• Frame Pointer (R13) : Frame Pointer (R13) : Contains the address of the Contains the address of the data structure called data structure called “Stack Frame.”“Stack Frame.”

• Argument Pointer (R12) :Argument Pointer (R12) : Contains the address of Contains the address of the data structure the data structure “Argument List.”“Argument List.”

Page 9: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• Remaining part of the processor state contain the Remaining part of the processor state contain the 16-bit 16-bit Processor Status Word (PSW)Processor Status Word (PSW). .

• PSW is the lower part of Processor State Longword.PSW is the lower part of Processor State Longword.

• Program uses to check status and control error Program uses to check status and control error conditions.conditions.

• PSW contain N, Z, V, C condition codes and IV, DV, PSW contain N, Z, V, C condition codes and IV, DV, FU bits.FU bits.

• Contains T-bit which is useful for debugging and Contains T-bit which is useful for debugging and analysis purposes.analysis purposes.

Page 10: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Data Types and Data Formats:Data Types and Data Formats:• VAX-11 has additional data types to that of PDP-11.VAX-11 has additional data types to that of PDP-11.• In data types common to VAX-11 and PDP-11, the In data types common to VAX-11 and PDP-11, the

formats are similar.formats are similar. The five data types in VAX -11 are:The five data types in VAX -11 are:• INTEGER:INTEGER: Integer data types are stored in memory as binary Integer data types are stored in memory as binary

values. values. Integers can be stored as a Byte (8-bit), Word (2 Integers can be stored as a Byte (8-bit), Word (2

Bytes), Longword (4 Bytes), and Quadword (8 Bytes), Longword (4 Bytes), and Quadword (8 Bytes).Bytes).

• FLOATING DATA TYPE:FLOATING DATA TYPE: The 4 byte format Floating with seven The 4 byte format Floating with seven

decimal digits of precision and the 8 byte format decimal digits of precision and the 8 byte format Double floating with 16 decimal digits of precision.Double floating with 16 decimal digits of precision.

Page 11: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• PACKED DECIMAL STRING:PACKED DECIMAL STRING:

• Data is stored in a sequence of bytes in memory. Range is 0 to 31 Data is stored in a sequence of bytes in memory. Range is 0 to 31 digits.digits.

• Each byte is divided into Each byte is divided into two 4-bit nibblestwo 4-bit nibbles. . One decimal digitOne decimal digit is stored in each nibble.is stored in each nibble.

• The first or the most significant digit is stored in high-order nibble The first or the most significant digit is stored in high-order nibble of the first byte; the second digit is stored in the low-order nibble of the first byte; the second digit is stored in the low-order nibble of the first byte.of the first byte.

• Third digit is stored in the high-order nibble of the second byte.Third digit is stored in the high-order nibble of the second byte.• Sign of a number is stored in the low-order nibble of the second Sign of a number is stored in the low-order nibble of the second

byte.byte.

• If the number of digits is even, then a Zero is added in the high-If the number of digits is even, then a Zero is added in the high-order nibble of the first byte of the string.order nibble of the first byte of the string.

• Two ASCII character decimal types are supported:Two ASCII character decimal types are supported:

• Leading Separate Sign:Leading Separate Sign: +, -, blank ASCII characters followed by +, -, blank ASCII characters followed by the the

• 0-31 decimal digits.0-31 decimal digits.

• Trailing Embedded SignTrailing Embedded Sign: 0-31 ASCII decimal digit characters.: 0-31 ASCII decimal digit characters.

Page 12: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

CHARACTER STRING:CHARACTER STRING:– It is used to represent strings of characters like It is used to represent strings of characters like

names, texts, etc.names, texts, etc.– Important operations are copying, searching, Important operations are copying, searching,

concatenating.concatenating.– Two attributes are: address of the string and Two attributes are: address of the string and

the length of the string.the length of the string.– A character string with ASCII codes for decimal A character string with ASCII codes for decimal

digits is called “digits is called “Numeric StringNumeric String.”.”

VARIABLE BIT FIELDVARIABLE BIT FIELD::• Store small integers packed together in a large Store small integers packed together in a large

data structure. This saves memory.data structure. This saves memory.• A bit field is specified by : A - Address of the A bit field is specified by : A - Address of the

operand, P – Position in bits which has either a operand, P – Position in bits which has either a positive or negative displacement within Range -positive or negative displacement within Range -223131 through 2 through 23131-1, S – Size.-1, S – Size.

Page 13: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti
Page 14: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Instruction FormatInstruction Format• VAX -11 instruction set has variable length VAX -11 instruction set has variable length

instruction format.instruction format.• Each instruction consists of an opcode Each instruction consists of an opcode

followed by operand specifiers. followed by operand specifiers. • Every operand specifier has an address Every operand specifier has an address

and additional information. and additional information. • Additional information contains two Additional information contains two

register designators, addresses, data or register designators, addresses, data or displacements.displacements.

• VAX -11 are superset of the PDP-11 VAX -11 are superset of the PDP-11 address modes.address modes.

• Autodecrement deferredAutodecrement deferred mode is not mode is not present in VAX-11.present in VAX-11.

Page 15: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Addressing modes:Addressing modes:

• Register mode: Register mode: Designated register contains Designated register contains the operand.the operand.

• Register deferred mode: Register deferred mode: Designated register Designated register contains the address of the operand.contains the address of the operand.

• Autodecrement mode: Autodecrement mode: Contents of the Contents of the designated register are first decremented by the designated register are first decremented by the size of the operand and then used as the address size of the operand and then used as the address of the operand.of the operand.

• Autoincrement mode: Autoincrement mode: Contents of the Contents of the designated register are first used as the address designated register are first used as the address of the operand and then incremented by the size of the operand and then incremented by the size of the operand.of the operand.

Page 16: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• Autoincrement deferred mode: Autoincrement deferred mode: Contents of Contents of the designated register are used as the address the designated register are used as the address of a longword in memory which contains the of a longword in memory which contains the address of the operand. And then the contents of address of the operand. And then the contents of the register are incremented by four.the register are incremented by four.

• Displacement mode: Displacement mode: Displacement is added to Displacement is added to the contents of the designated register to form the contents of the designated register to form the operand address. There are three the operand address. There are three displacement modes based on the signed byte, displacement modes based on the signed byte, word, or longword displacement as the specifier word, or longword displacement as the specifier extension.extension.

• Displacement deferred mode: Displacement deferred mode: Displacement Displacement is added to the designated register to form the is added to the designated register to form the address of a longword containing the address of address of a longword containing the address of the operand.the operand.

Page 17: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• Literal mode: Literal mode: Operand specifier Operand specifier itself contains a 6-bit literal which is itself contains a 6-bit literal which is the operand.the operand.

• Index mode: Index mode: A one-byte prefix A one-byte prefix operator used for any other mode operator used for any other mode which evaluates a memory address.which evaluates a memory address.

Page 18: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

MOVW 56 (R5), 270(R7):MOVW 56 (R5), 270(R7):

Page 19: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Instruction Set:Instruction Set:• A processor can execute in one of the two instruction A processor can execute in one of the two instruction

sets: Native mode and the Compatibility mode.sets: Native mode and the Compatibility mode.

• Native mode: Processor executes large set of Native mode: Processor executes large set of variable length instructions, recognizes different data variable length instructions, recognizes different data types, and uses sixteen 32 bit general purpose types, and uses sixteen 32 bit general purpose registers.registers.

• Compatibility mode: Processor executes a set of PDP-Compatibility mode: Processor executes a set of PDP-11 instructions, recognizes integer data, and uses 11 instructions, recognizes integer data, and uses eight 16-bit general purpose registers.eight 16-bit general purpose registers.

• PDP-11 instruction format is not considered in PDP-11 instruction format is not considered in designing the designing the native mode instruction setnative mode instruction set of VAX of VAX -11.-11.

Page 20: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• To run existing PDP-11 programs, VAX-11 To run existing PDP-11 programs, VAX-11 included a included a PDP-11 compatibility modePDP-11 compatibility mode..

• Similarities between VAX-11 and PDP-11 enable Similarities between VAX-11 and PDP-11 enable conversion of existing PDP-11 programs to VAX-conversion of existing PDP-11 programs to VAX-11 programs.11 programs.

• Most existing PDP-11 programs which do not Most existing PDP-11 programs which do not need extended features of VAX-11 run unchanged need extended features of VAX-11 run unchanged in PDP-11 compatibility mode.in PDP-11 compatibility mode.

• Major goal of the instruction set was to provide Major goal of the instruction set was to provide small compiler generated code and the decisions small compiler generated code and the decisions which helped in it are:which helped in it are:– Operators to be treated regularly and consistently.Operators to be treated regularly and consistently.– Avoid unlikely instructions.Avoid unlikely instructions.– Include several forms of common operators : one Include several forms of common operators : one

operand, operand, Two operands, three operands.Two operands, three operands.– Replace common instructions with a single instruction.Replace common instructions with a single instruction.

Page 21: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Instructions used to manipulate general data Instructions used to manipulate general data types include:types include:

1.Integer, Logic, and Arithmetic1.Integer, Logic, and Arithmetic::– Logical operations for integer data type are Logical operations for integer data type are

clear, test, increment, decrement.clear, test, increment, decrement.– Add, subtract with carry, extended multiply Add, subtract with carry, extended multiply

and divide are operations for words which are and divide are operations for words which are greater than longword.greater than longword.

– Few shift instructions are used.Few shift instructions are used.– Result provided by use of two or three operand Result provided by use of two or three operand

forms.forms.– Two Operand : Stores the result in one of the Two Operand : Stores the result in one of the

two operands. Example: Set A = A + B.two operands. Example: Set A = A + B.– Three Operand: Three Operand: Two different variables are used to Two different variables are used to

calculate the third and store the result in the third. calculate the third and store the result in the third. Example: Set C = A + B.Example: Set C = A + B.

Page 22: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

2.Floating Point Instructions:2.Floating Point Instructions:• The floating point instructions are Extended modulus, The floating point instructions are Extended modulus,

Polynomial instructions.Polynomial instructions.• Result provided by use of two or three operand Result provided by use of two or three operand

forms.forms.

3.Packed Decimal Instructions:3.Packed Decimal Instructions:• The operations for Floating and The operations for Floating and

Integer data are applied to the Packed decimal string.Integer data are applied to the Packed decimal string.

Include:Include:• Arithmetic Shift Packed (ASHP) : provides decimal Arithmetic Shift Packed (ASHP) : provides decimal

point scaling.point scaling.• Convert instructions : conversion between packed Convert instructions : conversion between packed

decimal format and commonly used numeric formats.decimal format and commonly used numeric formats.• Edit instruction : Convert decimal string to character Edit instruction : Convert decimal string to character

string.string.

Page 23: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

4.Character String Instructions4.Character String Instructions:: There are two basic forms of Move String Instructions: There are two basic forms of Move String Instructions: 1.General Move Character Instructions1.General Move Character Instructions: Copy : Copy

character strings from one location to another. Takes character strings from one location to another. Takes five operands. Fill is used if source string is smaller five operands. Fill is used if source string is smaller than destination string.than destination string.

2.Move Translated Characters and Move 2.Move Translated Characters and Move Translated Until Character:Translated Until Character: Create new character Create new character strings using translation table. Source string is strings using translation table. Source string is translated by translation table before moved to the translated by translation table before moved to the destination string.destination string.

• String Compare Instructions:String Compare Instructions: The compare The compare character instructions provide character–by-character character instructions provide character–by-character string comparisons.string comparisons.

• Single Character Search Instructions: Single Character Search Instructions: Locate Locate character and Skip character instructions search character and Skip character instructions search instructions for single characters within a string. instructions for single characters within a string.

• Substring Search Instructions:Substring Search Instructions: Match character Match character instruction finds the first occurrence of a sub-string in instruction finds the first occurrence of a sub-string in a string.a string.

Page 24: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

5.Variable Bit Field Instructions:5.Variable Bit Field Instructions:• Instructions enable user to define, access and modify fields Instructions enable user to define, access and modify fields

whose size and location are user specified. These include:whose size and location are user specified. These include:• Compare Field:Compare Field: Compare a field against a Compare a field against a

longword.longword.• Insert and Extract FieldInsert and Extract Field store data in and retrieve store data in and retrieve

data from fields.data from fields.• Find First InstructionFind First Instruction finds the first occurrence of finds the first occurrence of

a clear or set bit in field.a clear or set bit in field.

• Instructions used to manipulate special kinds of Instructions used to manipulate special kinds of data:data:

1.Address Instructions1.Address Instructions : : Include Include Move AddressMove Address: Stores : Stores the address of a byte, word, longword in the memory.the address of a byte, word, longword in the memory.

• Push AddressPush Address: Stores the address in Stack.: Stores the address in Stack. 2. 2. Queue InstructionsQueue Instructions::

– Instructions provided to insert an item into queue or remove Instructions provided to insert an item into queue or remove an item from queue.an item from queue.

– First longword of a queue entry contains forward pointer to the First longword of a queue entry contains forward pointer to the next entry in the queue. And the next longword contains the next entry in the queue. And the next longword contains the backward pointer to the preceding entry in the queue.backward pointer to the preceding entry in the queue.

Page 25: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Instructions that provide program flow Instructions that provide program flow control:control:

1.Control Instructions:1.Control Instructions:• Three unconditional branch instructions: Three unconditional branch instructions:

In Branch instructions, displacement is added to In Branch instructions, displacement is added to the current contents of the program counter to the current contents of the program counter to obtain the new address.obtain the new address.

• In Jump instructions, user specified address is In Jump instructions, user specified address is loaded using any of the addressing modes.loaded using any of the addressing modes.

2.Subroutine Instructions:2.Subroutine Instructions:• Branch to Subroutine and Branch to Subroutine and

Jump to Subroutine Jump to Subroutine save the contents of the save the contents of the program counter on stack before loading the program counter on stack before loading the program counter with new address.program counter with new address.

• Return from Subroutine pops the longword off the Return from Subroutine pops the longword off the stack and loads into program counter.stack and loads into program counter.

Page 26: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

4.Procedure Call and Return 4.Procedure Call and Return InstructionsInstructions::

– Address of the procedure called is needed Address of the procedure called is needed whenever a call instruction is issued. whenever a call instruction is issued.

– Argument pointer passes address of Argument pointer passes address of argument list to called procedure. argument list to called procedure.

– Processor uses AP to pass arguments to the Processor uses AP to pass arguments to the procedure.procedure.

– The first word of the procedure contains an The first word of the procedure contains an entry mask which specifies the registers to be entry mask which specifies the registers to be used and so saves it.used and so saves it.

– The call instruction automatically saves the The call instruction automatically saves the contents of the frame pointer, argument contents of the frame pointer, argument pointer, and program counter registers. pointer, and program counter registers.

Page 27: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

– Nested calls tracked by Frame Pointer.Nested calls tracked by Frame Pointer.

– Set of items pushed on stack during call is Set of items pushed on stack during call is “Stack Frame.”“Stack Frame.”

– The Call procedure with General Argument List The Call procedure with General Argument List (CALLG) :parameters are in a block that isn't on (CALLG) :parameters are in a block that isn't on the stack. Eg: FORTRAN.the stack. Eg: FORTRAN.

– The Call procedure with Stack Argument List The Call procedure with Stack Argument List (CALLS) : parameters are passed on the stack (CALLS) : parameters are passed on the stack

Eg: PASCAL.Eg: PASCAL.– When a procedure completes execution, When a procedure completes execution,

processor pops arguments using on Return processor pops arguments using on Return from Procedure Instruction (RET). from Procedure Instruction (RET).

Page 28: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• Virtual to Physical Page Mapping:Virtual to Physical Page Mapping:• Virtual address space is divided into pages Virtual address space is divided into pages • First page begins at 0 and continues till 512. The First page begins at 0 and continues till 512. The

size of virtual page corresponds to size of physical size of virtual page corresponds to size of physical page.page.

• The two high order bits of virtual address indicate The two high order bits of virtual address indicate the region the virtual address is referring. the region the virtual address is referring.

• Select bits used to select page table containing Select bits used to select page table containing page table entries (PTE).page table entries (PTE).

• A page table is a continuous array of page table A page table is a continuous array of page table entries. Each page table entry is longword with entries. Each page table entry is longword with physical mapping for one virtual page.physical mapping for one virtual page.

• To translate virtual to physical address, processor To translate virtual to physical address, processor uses virtual page number as index into the page uses virtual page number as index into the page table to select the PTE from given page table table to select the PTE from given page table address.address.

Page 29: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

MEMORY MANAGEMENT:MEMORY MANAGEMENT:• Memory management comprised of the Memory management comprised of the

mechanisms mechanisms • (1) to map the virtual addresses generated by (1) to map the virtual addresses generated by

processes to physical memory addresses; (2) to processes to physical memory addresses; (2) to control access to memory control access to memory

• (3) to allow a process to execute even if its virtual (3) to allow a process to execute even if its virtual address space is not simultaneously mapped to address space is not simultaneously mapped to physical memory.physical memory.

• Three alternatives were proposedThree alternatives were proposed:: 1. A paged form of memory management with access 1. A paged form of memory management with access

control at the page level and a small number (four) of control at the page level and a small number (four) of hierarchical access modes whose use would be hierarchical access modes whose use would be dedicated to specific purposes. dedicated to specific purposes.

2. A paged and segmented form with access control at 2. A paged and segmented form with access control at the segment level and a larger number (eight) of the segment level and a larger number (eight) of hierarchical access modes which would be used quite hierarchical access modes which would be used quite generally. generally.

3. A capabilities form with access control provided by 3. A capabilities form with access control provided by the capabilities and the ability to page larger objects the capabilities and the ability to page larger objects described by the capabilities.described by the capabilities.

Page 30: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

Page Table Entry contains either: Page Table Entry contains either: • (1) 21-bit physical page frame number (1) 21-bit physical page frame number

which is concatenated with the nine low which is concatenated with the nine low order bytes in page bits to form a 30-bit order bytes in page bits to form a 30-bit physical address.physical address.

• (2) Virtual page accessed is not in physical (2) Virtual page accessed is not in physical memory and called as memory and called as page fault.page fault.

Access Control: Access Control: • A process executes in one of the modes:A process executes in one of the modes:

Kernel, Executive,Kernel, Executive, Supervisor andSupervisor and User.User.• Current access mode is stored in Processor Current access mode is stored in Processor

Status longword (PSL).Status longword (PSL).• PSL also contain previous access mode.PSL also contain previous access mode.• Return from exception or interrupt is used Return from exception or interrupt is used

to return to the original mode. to return to the original mode.

Page 31: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• Interrupts and Exceptions:Interrupts and Exceptions:• Forced changes in control flow.Forced changes in control flow.• Interrupts unrelated to the currently executing Interrupts unrelated to the currently executing

program.program.• Exceptions are result of the current program.Exceptions are result of the current program.• Processor recognizes 31 interrupt priority levels. Processor recognizes 31 interrupt priority levels.

Highest 16 are reserved for hardware and lowest Highest 16 are reserved for hardware and lowest 16 for software. 16 for software.

• Normal user software runs at zero interrupt priority Normal user software runs at zero interrupt priority level (IPL). level (IPL).

• The interrupt service routine executes at the The interrupt service routine executes at the interrupt priority level. When Processor receives interrupt priority level. When Processor receives interrupt request at higher level than the IPL, the interrupt request at higher level than the IPL, the processor makes a new interrupt at the priority processor makes a new interrupt at the priority level. level.

• When interrupt service routine issues Return from When interrupt service routine issues Return from Exception or Interrupt, the processor returns Exception or Interrupt, the processor returns control to the previous level.control to the previous level.

Page 32: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

• Process Context Switching:Process Context Switching:

• In multiprogramming environment, several In multiprogramming environment, several individual streams of code can be ready to individual streams of code can be ready to execute at any one time. Instead operating execute at any one time. Instead operating system can switch between the streams of system can switch between the streams of code.code.

• Instructions which help are: Save and Load.Instructions which help are: Save and Load.

Page 33: VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti

CONCLUSION:CONCLUSION:• VAX-11 architecture was designed to increase VAX-11 architecture was designed to increase

the virtual address space. This is important to run the virtual address space. This is important to run many complex applications. To increase the many complex applications. To increase the virtual address space, lot of new data types, virtual address space, lot of new data types, addressing modes, instruction sets were included.addressing modes, instruction sets were included.

REFERENCES:REFERENCES: • VAX 11-Architecture Handbook (Digital VAX 11-Architecture Handbook (Digital

Equipment Corporation).Equipment Corporation).• http://http://fakkir.net/~elzubeir/papers/vax.pdffakkir.net/~elzubeir/papers/vax.pdf• A New Architecture for MiniComputers – DEC PDP A New Architecture for MiniComputers – DEC PDP

-11 -11