WIPO logo
Mobile | Deutsch | Español | Français | 日本語 | 한국어 | Português | Русский | 中文 | العربية |
PATENTSCOPE

Search International and National Patent Collections
World Intellectual Property Organization
Search
 
Browse
 
Translate
 
Options
 
News
 
Login
 
Help
 
Machine translation
1. (WO2006020729) RECOGNITION OF ACYCLIC INSTRUCTION PATTERNS
Latest bibliographic data on file with the International Bureau   

Pub. No.:    WO/2006/020729    International Application No.:    PCT/US2005/028463
Publication Date: 23.02.2006 International Filing Date: 11.08.2005
IPC:
G06F 9/45 (2006.01)
Applicants: SANDBRIDGE TECHNOLOGIES, INC. [US/US]; 1 North Lexington Avenue, 1oth Floor, White Plains, NY 10601 (US).
MOUDGILL, Mayan [IN/US]; (US) (For US Only).
KOTLYAR, Vladimir [US/US]; (US) (For US Only)
Inventors: MOUDGILL, Mayan; (US).
KOTLYAR, Vladimir; (US)
Agent: PALAN, Perry; Barnes & Thornburg, 750 17th Street, N.W., Suite 900, Washington, DC 20006 (US)
Priority Data:
60/600,999 12.08.2004 US
Title (EN) RECOGNITION OF ACYCLIC INSTRUCTION PATTERNS
(FR) PROCEDE DE RECONNAISSANCE DE MODELES D'INSTRUCTION ACYCLIQUE
Abstract: front page image
(EN)A method which determines by an optimizing compiler whether any variable in the given program equals to the given acyclic mathematical function f(x,y,...) applied to the given variables x, y,... in the program. In one embodiment, the method includes expressing the bits of the value of the function f(x,y,..) as a Boolean function of the bits of the inputs x, y,...; expressing, for every variable v and program statement s, the value taken by v when s is executed as a Boolean function V(s,v)(x, y,...) of the bits of x, y,...; and expressing, for every statement s, the condition under which the statement is executed as a Boolean function C(s)(x, y,...) of the bits of the inputs x, y,.... Finally, a determination is made using a Boolean satisfiability oracle of whether, for the given variable v and program statement s, the following Boolean expression holds: C(s)(x,y,...) P> V(s,v)(x,y...)=f(x,y,...). In a second embodiment, the method includes expressing the value of f(x,y,...) as a plurality of functions f j(x,y,..) having the corresponding predicate Pj(x,y,..); expressing, for every variable v and program statement s, the value taken by v when s is executed as a plurality of functions Vj(s,v)(x,y,...), one for each predicate Pj(x,y,..); and expressing, for every statement s, the condition under which the statement is executed as a plurality of functions Cj(s)(x,y,...), one for each predicate Pj(x,y,..). Finally, a determination is of whether for the given variable v and program statement s, Vj(s,v)(x,y,...)=fj(x,y,..) whenever the predicate Pj(x,y,..) and the condition Cj(s)(x,y,...) are true.
(FR)Cette invention concerne un procédé permettant de déterminer, au moyen d'un compilateur d'optimisation, si une variable contenue dans le programme donné est égale à la fonction mathématique acyclique donnée f(x,y,...) appliquée aux variables données x, y,... dans le programme. Dans un mode de réalisation, le procédé consiste à exprimer les chiffres binaires de la valeur de la fonction f(x,y,..) en fonction de la fonction booléenne des chiffres binaires des entrées x, y,...; à exprimer, pour chaque variable v et une instruction de programme s, la valeur prise par v lorsque s est exécutée en fonction de la fonction booléenne V(s,v)(x, y,...) des chiffres binaires de x, y,...; puis à exprimer, pour chaque instruction s, la condition dans laquelle l'instruction est exécutée en fonction de la fonction booléenne C(s)(x, y,...) des chiffres binaires des entrées x, y,... Enfin, on détermine, au moyen d'une commande de satisfaisabilité booléenne, si pour la variable donnée v et l'instruction de programme s donnée, l'expression booléenne correspond à: C(s)(x,y,...) P> V(s,v)(x,y...)=f(x,y,...). Dans un second mode de réalisation, le procédé consiste à exprimer la valeur de f(x,y,...) en fonction de plusieurs fonctions f j(x,y,..) présentant le prédicat correspondant Pj(x,y,..); à exprimer pour chaque variable v et chaque instruction de programme s, la valeur prise par v lorsque s est exécutée en fonction de plusieurs fonctions Vj(s,v)(x,y,...), une pour chaque prédicat Pj(x,y,..); puis exprimer, pour chaque instruction s, la condition dans laquelle l'instruction est exécutée en fonction de plusieurs fonctions Cj(s)(x,y,...), une pour chaque prédicat Pj(x,y,..). Enfin, on détermine si, pour une variable v et une instruction de programme s données s, Vj(s,v)(x,y,...)=fj(x,y,..), dans la mesure où le prédicat Pj(x,y,..) et la condition Cj(s)(x,y,...) sont vrais.
Designated States: AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BW, BY, BZ, CA, CH, CN, CO, CR, CU, CZ, DE, DK, DM, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, JP, KE, KG, KM, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ, NA, NG, NI, NO, NZ, OM, PG, PH, PL, PT, RO, RU, SC, SD, SE, SG, SK, SL, SM, SY, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, YU, ZA, ZM, ZW.
African Regional Intellectual Property Organization (BW, GH, GM, KE, LS, MW, MZ, NA, SD, SL, SZ, TZ, UG, ZM, ZW)
Eurasian Patent Organization (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM)
European Patent Office (AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IS, IT, LT, LU, LV, MC, NL, PL, PT, RO, SE, SI, SK, TR)
African Intellectual Property Organization (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, ML, MR, NE, SN, TD, TG).
Publication Language: English (EN)
Filing Language: English (EN)