Browse Prior Art Database

Pseudo Opcodes for a Microcoded Data Processor

IP.com Disclosure Number: IPCOM000037047D
Original Publication Date: 1989-Nov-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 5 page(s) / 280K

Publishing Venue

IBM

Related People

Collins, KM: AUTHOR [+3]

Abstract

In a microcoded system, microcoded routines, called units of operation, are explicitly identified by an operation code (opcode). The end of a unit of operation is signalled by an end of operation (Endop) function. Performance measurements are made for these operations by measuring the interval of time between successive Endop signals and monitoring the opcode associated with each unit of operation. Events, called traps, inhibit the Endop signal and force the execution of microcoded routines, called between unit of operation (BUO) routines. BUO routines are not identified by any opcode. Thus, a trap event causes the performance measurement associated with the previous opcode to be erroneously long and does not allow for any performance data to be collected for the BUO routine.

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

Page 1 of 5

Pseudo Opcodes for a Microcoded Data Processor

In a microcoded system, microcoded routines, called units of operation, are explicitly identified by an operation code (opcode). The end of a unit of operation is signalled by an end of operation (Endop) function. Performance measurements are made for these operations by measuring the interval of time between successive Endop signals and monitoring the opcode associated with each unit of operation. Events, called traps, inhibit the Endop signal and force the execution of microcoded routines, called between unit of operation (BUO) routines. BUO routines are not identified by any opcode. Thus, a trap event causes the performance measurement associated with the previous opcode to be erroneously long and does not allow for any performance data to be collected for the BUO routine. A microcoded method, called pseudo opcodes, isolates and identifies BUO microcode routines by delimiting them with Endop signals and associating them with opcode identifiers.

Pseudo opcodes are opcodes that are unused by any unit of operation. Each BUO routine is arbitrarily assigned a unique pseudo opcode. When the microcode begins execution of a BUO routine, it forces the hardware to detect an Endop signal and its pseudo opcode. The hardware passes the Endop and pseudo opcode as external signals to the measurement device. This isolates the BUO routine from unit of operation routines in the performance measurements.

The hardware decodes the opcode from a hardware register called the Opcode Register. When hardware detects the Endop function, it loads the Opcode Register with the opcode for the next unit of operation, decodes the opcode in the Opcode Register, and performs the branch to the unit of operation routine associated with that opcode. Loading of the Opcode Register may be inhibited by microcode; decode and branch is then based on the value already in the Opcode Register.

If a trap event occurs, however, the Endop signal is inhibited, no branch on the opcode occurs, and the Opcode Register is not updated. Instead,...