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

Emulation Instruction

IP.com Disclosure Number: IPCOM000045562D
Original Publication Date: 1983-Apr-01
Included in the Prior Art Database: 2005-Feb-07
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Rogers, DL: AUTHOR

Abstract

A major problem in designing new and more powerful microprocessors is that of establishing a new instruction set that tkes advantage of new technological capabilities. Since most software is written for existing processors, introducing a new instruction set usually severely limits the software base for the new system. A new microprocessor instruction is described which allows the introduction of new instruction sets, yet still allows fast emulation of existing machines.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 1

Emulation Instruction

A major problem in designing new and more powerful microprocessors is that of establishing a new instruction set that tkes advantage of new technological capabilities. Since most software is written for existing processors, introducing a new instruction set usually severely limits the software base for the new system. A new microprocessor instruction is described which allows the introduction of new instruction sets, yet still allows fast emulation of existing machines.

In most Instruction sets the op code for an instruction is defined as the first byte or word of the instruction's data stream. This byte could be used as an offset to locate code to emulate that instruction. A hardware emulate instruction is proposed which would result in the following: 1. A byte (the op code) is read from an address specified by an interval register acting as a Emulation Program Counter (EPC). This register could be a register normally used for used for other purposes when not in the emulation mode. 2. Using this byte, a corresponding jump table address (usually a simple shift left plus an add) is calculated in hardware (or microcode). The table address could be either in another register or at an address known only to the machine hardware or microcode. An alternative to this step might be to calculate directly the address of the emulation code. For example, the op code byte might be multiplied by 8 (a simple three shifts left) so that, in the table, 8 bytes of code are all...