This invention relates generally to microprocessor-controlled video display terminals and is particularly directed to preserving information in memory for presentation on a video display device by limiting access to the memory location in which the information is stored.
In data processing systems it is frequently necessary to prevent data stored in a memory from being erased or altered. Various approaches have been implemented in order to prevent alteration of the memory contents. In one approach, an address register is provided with the address of a memory location to be accessed and additional registers are provided for respectively storing a boundary address and an address size associated with a program making the access. The stored boundary address represents the beginning address of a memory area accessible by the associated program and the stored size indicates the dimension or size of that memory area. In determining whether access to a given memory address is authorized, it is determined whether or not the memory address held by the address register is within the memory area specified by the boundary address and the size. If the address indicated by the address register exists in the memory area indicated by the boundary address and the size, access to that particular area of memory is permitted in accordance with the operating program. On the other hand, if the memory address exists outside the indicated memory area, memory address access is prohibited. This arrangement is called the segment scheme approach to preventing data in a memory from being erased or altered and requires various registers dedicated to holding the address of a memory location to be accessed as well as a boundary address and the size associated with the program making the access and hence increases the cost and complexity of the data processing system incorporating this capability.
Sometimes it is necessary or desirable to change the memory protection function in a data processing system. For example, it may be necessary to limit access to various portions of a memory depending upon the application in which the system is used. One example of such an application which readily comes to mind involves the field of word processing wherein pre-programmed forms may be filled in by an operator. In this situation, it is necessary to permit access to various portions of the memory for the entry of data in the blank spaces of the form, while preventing the revising of the form itself. With a capability to present and fill in various forms, those portions of the memory for which access was either authorized or unauthorized would change depending upon the form used. In prior art systems, a revision or expansion of the memory protection function has required a changing over of the operation mode of the entire data processing system by means of a control program capable of controlling system operation in the original as well as the new mode of operation and a program for changing over between these operation modes. This approach requires considerable program overhead and substantially increases programming costs as well as program storage requirements. In another approach, various "attributes" associated with control functions in the operation of the display, such as underlining, dimming, reverse video, etc., are used to designate protected areas in the video memory. This approach also is limited in that protected areas may not be changed without changing the attributes themselves.
U.S. Pat. No. 4,432,050 to Harris et al discloses a write protection arrangement for a data processing system wherein apparatus is provided for generating a write signal when the data processing unit is loading information into the control store of a storage device and for prohibiting use of the storage device's control store when such control store is being loaded with firmware words from the data processing unit. U.S. Pat. No. 4,434,464 to Suzuki et al similarly discloses a memory protection system for a computer wherein memory protection address information and operating program information are collated to determine whether access to a given memory area is to be allowed or inhibited. In addition, the memory protection information may be altered if it is determined that an instruction to be executed is an instruction having a predetermined operation and that an address of the memory to be accessed by the instruction is a particular address. Both of these approaches require considerable additional data processing system complexity and programming capability.
The present invention is intended to overcome the aforementioned limitations of the prior art by providing a memory protect feature in a microprocessor controlled video display terminal which makes use of existing system hardware, is easily implemented by merely expanding the number of coded instructions, and does not require modification of existing systems in providing a write protect capability therein.