Browse Prior Art Database

Dynamic Self Checking for a Read Only Storage

IP.com Disclosure Number: IPCOM000087265D
Original Publication Date: 1977-Jan-01
Included in the Prior Art Database: 2005-Mar-03
Document File: 2 page(s) / 44K

Publishing Venue

IBM

Related People

Crandall, DR: AUTHOR [+2]

Abstract

This article describes a program segment running in the lowest priority level of a processor and checking the program in a read-only storage (ROS). The program comprises a short routine inserted in the "idle" or "busy" low priority microprogram loop.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 79% of the total text.

Page 1 of 2

Dynamic Self Checking for a Read Only Storage

This article describes a program segment running in the lowest priority level of a processor and checking the program in a read-only storage (ROS). The program comprises a short routine inserted in the "idle" or "busy" low priority microprogram loop.

This program will, as indicated in the figure, first fetch a ROS byte address from a changeable storage location and enter this into a storage address register. The byte thus addressed will be fetched and retained. The next step is to fetch an old check sum from another changeable storage location and add it to the ROS byte. The retained byte address is next incremented, and the incremented address is tested. If the address is now zero or some other fixed value, indicating that the last ROS address has been fetched, the new check sum is compared with an expected check sum value from storage. If the two values are equal, the program continues with the next instruction of the idle or busy routine. However, if the two check sums are not the same, it is an indication that there has been an erroneous readout of at least one byte from ROS. The error will cause an error latch to be set and the machine stopped or some corrective action taken.

If the byte address is not zero or is not above the highest ROS address, it indicates that the ROS check sum is not completed. The program will, therefore, store the new byte address back in its storage location and will store the new check...