Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Processing of Microcode Sequences Stored in Virtual Memory while Reducing the Number of Address Translating

IP.com Disclosure Number: IPCOM000085722D
Original Publication Date: 1976-May-01
Included in the Prior Art Database: 2005-Mar-02
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Lang, DJ: AUTHOR [+2]

Abstract

A method is described for testing and jumping from one program object module consisting of a sequence of microprogramming instructions to another object module using a small construction address register. The microprogramming instruction sequences within the program object module are stored in consecutive real memory address, the virtual relationship among the program modules being preserved. The method comprises the steps of: 1) Determining whether the next instruction resides in another module, such as whether the next instruction is of the CALL or TRANSFER type. If yes, then go to (2); if no, then go to (4). 2) Go to module catalog table and extract virtual name and real address. 3) Execute transfer instruction for loading instruction counter. 4) Determine whether the instruction is in instruction store.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Processing of Microcode Sequences Stored in Virtual Memory while Reducing the Number of Address Translating

A method is described for testing and jumping from one program object module consisting of a sequence of microprogramming instructions to another object module using a small construction address register. The microprogramming instruction sequences within the program object module are stored in consecutive real memory address, the virtual relationship among the program modules being preserved. The method comprises the steps of:
1) Determining whether the next instruction resides in another

module, such as whether the next instruction is of the CALL

or TRANSFER type. If yes, then go to (2); if no, then go to

(4).
2) Go to module catalog table and extract virtual name and real

address.
3) Execute transfer instruction for loading instruction counter.
4) Determine whether the instruction is in instruction store. If

yes, then go to (5); if no, then go to (6)
5) Fetch instruction from instruction store and execute, then go

to (1)
6) Fetch instruction from main store with real address and load

instruction store with a predetermined number of bytes and go

to (5).

The essence of this method is the recognition that a fully relocatable, virtual memory scheme with addressing to the page is not particularly efficient for handling large blocks of data which have a fixed format and are seldom reorganized or changed in size.

This problem is particularly acute in system organizations which contain several microprocessors of different types performing different functions, each of which has a large block of read-only functional microcode residing in virtual memory store, which is paged into its own local instruction store as needed. Because of the typically small size of the local instruction stores, small page sizes are necessary.

Thus, if a complete virtual-to-real address translation is necessary every time a new page of microcode is needed by the microprocessors, the process becomes very time consuming and places a heavy load on the address transla...