Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Recherche avancée dans les brevets | Images de page | Historique Web | Connexion

Brevets

  

IIIH

US006907516B2

(12) United States Patent ao) Patent No.: us 6,907,516 B2

Kirovski et al. (45) Date of Patent: Jun. 14,2005

(54) COMPRESSION OF PROGRAM

INSTRUCTIONS USING ADVANCED
SEQUENTIAL CORRELATION

(75) Inventors: Darko Kirovski, Bellevue, WA (US);

Milenko Drinic, Los Angeles, CA
(US); Hoi Huu Vo, Bellevue, WA (US)

(73) Assignee: Microsoft Corporation, Redmond, WA (US)

( * ) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 U.S.C. 154(b) by 558 days.

(21) Appl. No.: 10/159,857

(22) Filed: May 30, 2002
Prior Publication Data

US 2003/0225997 Al Dec. 4, 2003

Int. C I. G06F 9/00

U.S. C I 712 210

Field of Search 707/101; 712/210

(65)

(51) (52) (58)

(56) References Cited

U.S. PATENT DOCUMENTS

5,632,024 A * 5/1997 Yajima et al 712/205

5,710,909 A * 1/1998 Brown et al 711/170

5,805,932 A * 9/1998 Kawashima et al 710/68

5,832,126 A * 11/1998 Tanaka 382/239

6,142,682 A * 11/2000 Skogby 703/26

[blocks in formation]

Compressing program binaries with reduced compression ratios. One or several pre-processing acts are performed before performing compression using a local sequential correlation oriented compression technology such as PPM, or one of its variants or improvements. One pre-processing act splits the binaries into several substreams that have high local sequential correlation. Such splitting takes into consideration the correlation between common fields in different instructions as well as the correlation between different fields in the same instruction. Another pre-processing reschedules binary instructions to improve the degree of local sequential correlation without affecting dependencies between instructions. Yet another pre-processing act replaces common operation codes in the instruction with a symbols from a second alphabet, thereby distinguishing between operation codes that have a particular value, and other portions of the instruction that just happen to have the same value. Local sequential correlation compression such as PPM is then performed.

26 Claims, 6 Drawing Sheets

[blocks in formation]
[subsumed][subsumed][subsumed][graphic][merged small][merged small][merged small][graphic][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][subsumed][merged small][merged small][merged small][merged small][merged small][merged small]

BINARY INSTRUCTION 200 —► FIELD 201 FIELD 202 FIELD 203 FIELD 204 FIELD 205

[blocks in formation]
[blocks in formation]
« PrécédentContinuer »