COMPUTER EMULATOR WITH THREE
SEGMENT MICROCODE MEMORY AND
TWO SEPARATE MICROCONTROLLERS
FOR OPERAND DERIVATION AND
 Inventor: Robert E. Fosdick, Austin, Tex.
 Assignee: Tracor, Inc., Austin, Tex.
 Appl. No.: 174,721
 Filed: Aug. 1, 1980
 Int. CU G06F 9/44; G06F 9/22;
 U.S. CI 364/200; 364/578
 Field of Search ... 364/200 MS File, 900 MS File,
 References Cited
U.S. PATENT DOCUMENTS
3,544,969 12/1970 Rakoczi et al 364/200
3,651,482 3/1972 Benson el al 364/200
3,760,365 9/1973 Kurtzberg et al 364/200
3.766.532 10/1973 Liebel, Jr 364/200
3.766.533 10/1973 Black et al 364/200
3,955,180 5/1976 Hirtle 364/200
4,041,461 9/1977 Kratz 364/200
4,096,467 6/1978 Millard et al 364/200
4,156,903 5/1979 Barton et al 364/200
4,167,781 9/1979 Beccia et al 364/200
4,199,811 4/1980 Borgerson et al 364/200
4,266,281 5/1981 Struger et al 364/900
4.313,161 1/1982 Hardin et al 364/200
4,325,1 16 4/1982 Kranz et al 364/200
R. E. Fosdick, Technical Proposal for CMOS/SOS Stan-
dard Computer Emulation, Apr. 14, 1978.
R. Fosdick, CMOS/SOS Standard Computer Emulation,
N. Tinkelpaugh & R. E. Conklin, A Radiation Hardened Microprocessor Circuit Set and Its Application, May, 1979.
R. Fosdick, CMOS/SOS Standard Computer Simulation
AN/UKY-20 Emulator, Design Report-8/79, Final
Primary Examiner—James D. Thomas
Assistant Examiner—Archie E. Williams, Jr.
Attorney, Agent, or Firm—Arnold, White & Durkee
A microcoded central processing unit (CPU) is used to emulate the macroinstructions of a target computer. Each macroinstruction emulated is divided into two phases, an operand derivation or classification phase and an instruction execution phase. A microcontroller is provided to control each of the two separate phases. The two microcontrollers operate in parallel and simultaneously in performing their respective operations. The two microcontrollers are synchronized together so that when one microcontroller needs access to CPU resources that are currently under control of the opposite controller, the requesting microcontroller is put to sleep until the needed resource comes available before it continues its operations. Microcode is minimized by sectionalizing the micromemory such that certain microcode can be shared by both microcontrollers where common microcode is needed to emulate different macroinstructions. A three section micromemory is provided with the right section normally associated with the operand derivation, the left section associated with the instruction execution, and the middle micromemory available to either microcontroller. Either microcontroller may specify the address of any one of the three sections in micromemory. As a result of the manner in which the middle memory is shared by the microcontrollers, when a phase requires resources controlled by the commonly used microcode, those resources can be obtained without necessarily having to stop the operation of the other microcontroller. Throughput of the emulator is thereby increased.
The emulator also includes an interrupt unit for handing a priority system of peripheral interrupt requests.
7 Claims, 25 Drawing Figures