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

Wild-Branch Avoidance During Microcode Execution

IP.com Disclosure Number: IPCOM000047264D
Original Publication Date: 1983-Oct-01
Included in the Prior Art Database: 2005-Feb-07
Document File: 2 page(s) / 45K

Publishing Venue

IBM

Related People

Shih, A: AUTHOR

Abstract

This invention relates to memory protection by preventing the instruction counter of a microprocessor from assuming unintended values and thereby inhibiting unintended instruction fetches from memory. In this regard, a tag and signature to each instruction is assigned, and execution is inhibited if there is a mismatch between the pre- and post-initial microcode load (IML) values. This occurs when a program instruction are fetched from program store RAM random-access memory) to the microprocessor. It is appreciated that it is difficult to detect a wild or illegal branch within a program store boundary in a microprocessor. The invention contemplates assigning a tag and signature to every instruction. During IML, the tag and signature are loaded into the RAM.

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 67% of the total text.

Page 1 of 2

Wild-Branch Avoidance During Microcode Execution

This invention relates to memory protection by preventing the instruction counter of a microprocessor from assuming unintended values and thereby inhibiting unintended instruction fetches from memory. In this regard, a tag and signature to each instruction is assigned, and execution is inhibited if there is a mismatch between the pre- and post-initial microcode load (IML) values. This occurs when a program instruction are fetched from program store RAM random-access memory) to the microprocessor. It is appreciated that it is difficult to detect a wild or illegal branch within a program store boundary in a microprocessor. The invention contemplates assigning a tag and signature to every instruction. During IML, the tag and signature are loaded into the RAM. When an instruction is executed, the signature is regenerated and compared at the same time. If the generated signature mismatches the pre-loaded signature, then an instruction has occurred. In a system in which signature generation is based not only on the current instruction, but on a previous instruction, it is therefore possible to check the flow of program control. A typical arrangement within which the invention can be utilized is shown in Fig. 1. Referring now to Fig. 2, there is shown a sequence of program modules. One implementation of this invention uses a post-processor to scan an object code stream for the purpose of generating a tag and signature for...