Browse Prior Art Database

Microcode Control Flow Software Analysis Tool

IP.com Disclosure Number: IPCOM000117637D
Original Publication Date: 1996-Apr-01
Included in the Prior Art Database: 2005-Mar-31

Publishing Venue

IBM

Related People

Hill, G: AUTHOR [+2]

Abstract

As a large aggregate of assembly level microcode ages, it is typically difficult to interpret and to maintain without the assistance of experts. The control flow analysis tools described in this disclosure assist in characterizing the structure of the microcode and in identifying unique anomalies. The output of this analysis has many uses: o Instructional o Provides code maintenance indicators o Provides the capability to scan the use of hard-coded data o Provides the capability to summarize register usage within a module o Provides an in-depth analysis to be used as a comparison against competitor microcode suspected to be based on IBM copyrighted microcode.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 28% of the total text.

Microcode Control Flow Software Analysis Tool

      As a large aggregate of assembly level microcode ages, it is
typically difficult to interpret and to maintain without the
assistance of experts.  The control flow analysis tools described in
this disclosure assist in characterizing the structure of the
microcode and in identifying unique anomalies.  The output of this
analysis has many uses:
  o  Instructional
  o  Provides code maintenance indicators
  o  Provides the capability to scan the use of hard-coded data
  o  Provides the capability to summarize register usage within a
      module
  o  Provides an in-depth analysis to be used as a comparison against
      competitor microcode suspected to be based on IBM copyrighted
      microcode.

Disclosure

      This Control Flow analysis of JIB microprocessor microcode is
implemented with a set of PASCAL programs and REXX drivers.  Four
passes are required against three forms of input:
  o  Microcode Source
  o  Microcode Expanded Source
  o  Microcode Listing

The JIB processor application that this Control Flow Analysis program
was run against heavily utilized PLS macros.  Because of this, both
source and expanded source were scanned to derive information.

      The first step in all passes was to use a table driven parser
against all input to scan for keywords using JIB language syntax
rules.  This parsed out put isolated JIB tokens, removed all
comments, and standardized all indentation.  At that point, only the
relationships between labels, control transfer statements, and link
addresses were of interest.  No dataflow analysis was performed.  The
resultant output was a control flow analysis of the microcode
application at three telescoping levels:
  1.  Overall summary of all modules involved in the link.  This
index
       provides a condensed map of unique characteristics and
anomalies
       across the microcode aggregate.  The information summarized at
       this level is as follows:
      o  Module Description
      o  Primary entry point link address
      o  Secondary entry points and addresses
      o  Module Size (includes any data tables)
      o  Number of executable statements (before and after macro
          expansion)
      o  Input Parameters
      o  Output Parameters
      o  Return Code Usage
      o  Map of data Include files required
      o  Itemization and frequency of macro invocations
      o  Anomaly flags
  2.  External Control Flow diagrams of each module.  These Figures
       highlight only:
      o  The references made by other modules to this module
      o  This module's references to other modules
         Branching and control transfer is tagged by the nearest
label
          and link address.  External control flow anomalies are
          highlighted.
  3....