Browse Prior Art Database

Virtual Control Storage

IP.com Disclosure Number: IPCOM000081362D
Original Publication Date: 1974-May-01
Included in the Prior Art Database: 2005-Feb-27
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Tallman, PH: AUTHOR

Abstract

Virtual main storage techniques can be applied, with modifications, to the writeable control storage of central processors to expand the effective size of control storage.

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

Page 1 of 2

Virtual Control Storage

Virtual main storage techniques can be applied, with modifications, to the writeable control storage of central processors to expand the effective size of control storage.

The real size of control storage is normally determined early in the CPU development cycle. Functions that are defined later may require the expansion of real control storage or may be mutually exclusive with existing functions, or may not be installable on existing machines. A scheme of paging control storage on a machine with writeable control storage may allow more features to be installed on the same processor.

The real control storage would be loaded with the microcode for a particular instruction (function) at the time the instruction is executed, from a slow-speed (main memory type) storage, containing "pages" of a fixed number of control words each. As many pages as desired could be contained in paging storage; each page would contain either an entire feature, part of a feature, or more than one feature, depending on the number of control words required. Hardware changes are required only to add this storage and access to it. Other changes are required only in the CPU microprograms to control microprogram paging. Once the page is loaded into real control storage, it acts exactly as if it were loaded at Initial Microprogram Load (IMPL) time, until another page displaces it from real control storage.

Microcode control of microcode paging consists of two major parts, the "paging keywords" and "page loader" routine. The unit of paging is one page or "sector". Each sector that participates in paging has a block of keywords, at fixed addresses within the sector, that define which feature or features currently reside in active control store.

The function of the paging keyword is to allow an instruction to be executed if the correct copy of the sector is currently resident. If the copy is not resident, the keyword sets a register or local store word...