Goodard v. Google, Inc.
Filing
158
Goodard v. Google, Inc.
Doc. 158 Att. 9
Dockets.Justia.com
llllllllllllllIll1 1 1llllll11l111l1111l ll1 111l1111l1 1111 l l1 l l1
United States Patent
de Nicolas et al.
1541 TRANSLATING A DWAMIC TRANSFER COhTROL INSTRUCIION ADDRESS IN A [75]
US005 167023A
1191
[I]]
1451
Patent Number: Date of Patent:
5,167,023
Nov. 24. 1992
SIMULATED CPU PROCESSOR Inventors: Arturo M. de Nicolas; John C. o'Quin, JI', both Of Austin*Tex.
173) Assignee: [2l] [22)
International Business Machines, Armonk, N.Y.
Appl. No.: 625,780 Filed:
Dec. 7, 1990
tion", AmigaWorld, vol. 1, No. 2, Nov./Dec., 1985, pp. 34-35. "SoftPC", Insignia Solutions, Inc., IS1 Soft PC Data Sheet Rev., 3.0, Jan. 87, 8 pages. Warner, E., "Unix-Based Workstations to Run DOS", Info World, ~ ~ 6, 1987, p. 8, 1, May, C., "Mimic: Fast System/37O Simulator", SIGA PLAN. 1987, Proceedinns of the ACM SIGPLAN '87 Symposium o n InterprGters and Interpretive Techniques, Jun. 87, pp. 1-13.
Artorney, Agenr, or Firm-Wayne
Primary Examiner-Kevin Smith
[57f
A. Kriess
1631
Related U.S. Application Data Continuarm of Ser. NO. 151,137, Feb. 1, 1988. abandoned.
P. Bailey; Marilyn D.
ABsTRAcr
[Sl] Int.Cl,` .................
; 364/232.3; 364/262.4; 3tW247.6;
.........................
G06F 9/30 5; 395/500;
[58] Field of Search 395/500, 375, 775 [561 References Cited U.S. PATENT DOCUMENTS
8/19S2 Kareds ]/I963 Foxlick .., S/1986 Fisk et al. ]/I987 Ballard .... 10/1987 Saito .................................... 4.721,484 2/1988 Saito ..... 4,841,476 6/1989 Mirchell et nl. ..................... 4,347,365 4,370,709 4,587,612 4,638.423 4,700,291
364/247; 364/247.7; 364/262.9
361/200 364/900
FOREIGN PATENT DOCUMENTS
0217068 4/1967 European Pai..Off. .
60-71. Graham, C., "Amiga's Trump Card: IBM PC Emula-
OTHER PUBLICATIONS K. J. McNeley et ai., "Emulating a Complex Instruction Sei Computer with a Reduced Instruction Set Computer", IEEE Micro, Feb., 1987, vol. 7, No. 1, pp.
The system and method of this invention simulates the flow of control of an application program targeted for a specific instruction set of a specific processor by utilizing a simulator running on a second processing system having a second processor with a different instruction set. The simulator reduces the number of translated instructions needed to simulate the flow of control of the first processor instructions when translating the address of the next executable instruction resulting from a dynamic transfer of control, Le., resulting from a return instruction. The simulator compares the address that is loaded at run time by the return instruction with the return address previously executed by that instruction. If the last return address matches, the location of the return is the same. If the last return does not match, a translate look-aside buffer is used to determine the address. If the translate look-aside buffer does not find the address, then a binary tree look up mechanism is used to determine the address of the next instruction aAer a return. The performance of the simulator is enhanced by utilizing the easiest approaches first in the chance that a translated instruction will result most efficiently.
7 Claims, I1 Drawing Sheets
Nov. 24,1992
Sheet 1 of 11
MEMORY-420
f
P
11
ROS
.-
I
BIOS
I
I 113
I
PROCESSOR
atent
Nov. 24, 1992
Sheet 2 of 11
5,167,023
START
SI~ULATOR
USER I N V O K E S APP
I G.
2
Nov. 24, 1992
Sheet 3 of 11
9
167,023
I
r
44 i
44 4
RET
113 -
Be
%
Q,
m
0
T
rl
0
' c
x
.4 1:
110
cu
0
U
W
rc
50
0
w n
-.. ..I
#
3 ;
n
Q
n
3m
0
L4 LT
tQ
m
n ,
z"
m
d
0 0
1cP
rh 0
1
r-
0
T
0
c
cn
m
0
T
0
a
..
0
0
..
0
0 -c 0
0
0
T I-c.
..
-
0
..
0
0
ru
0
0
0 0
N
0
0
N
0
CN
0 0
0
h i
0
0
a
0
0 N Q
0
0 0 N
0
atent
Nov. 24, 1992
Sheet 5 of 11
33100
r6 4 K
BLOCK:
0200
04
400
/
3
11 4 05
4 03
I
I
31
L
50
400
31
-L
4 07
4 09
34-
L
c
401
I
408 3i-L
IOD
4 00
c
OIIO
31
L
I
Nov. 24, 1992
Sheet 6 of 11
/ I 00
NILZ
130
CIS
81T BE0 CALI 6 SHLA25<
Chi6
T I 2, AX #8, OXOOff TI2, 9
Chi6
`
RET
128
LH CAS LN ` c EXTS
0
SZAP
C
BEQ
XI L
BEQX
.CALI 6
HEN USED ON EACH T R A ~ S L A T I OOF il 80286 ~
I UO R!, R2, Ox8OFF
2CYCtE fCYCLE 1 CYCLE
LC RI,O(R!) EXTS R i , R I BNE SUBROUTINE
SEGUEUT 9 Rf +ADDRESS OF STATUS BYTE R4
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?