Elements of information theory
Elements of information theory
Can program profiling support value prediction?
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
Computer architecture (2nd ed.): a quantitative approach
Computer architecture (2nd ed.): a quantitative approach
Memory consistency and event ordering in scalable shared-memory multiprocessors
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Lossless data embedding--new paradigm in digital watermarking
EURASIP Journal on Applied Signal Processing - Emerging applications of multimedia data hiding
Effective Compilation Support for Variable Instruction Set Architecture
Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques
A Graph Theoretic Approach to Software Watermarking
IHW '01 Proceedings of the 4th International Workshop on Information Hiding
Efficient instruction encoding for automatic instruction set design of configurable ASIPs
Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
Dynamic path-based software watermarking
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Soft IP protection: watermarking HDL codes
IH'04 Proceedings of the 6th international conference on Information Hiding
Hi-index | 0.00 |
Information hiding has been studied in many security applications such as authentication, copyright management and digital forensics. In this work, we introduce a new application where successful information hiding in compiled program binaries could bring system-wide performance improvements. Our goal is to enhance computer system performance by providing additional information to the processor, without changing the instruction set architecture. We first analyze the statistics of typical programs to demonstrate the feasibility of hiding data in them. We then propose several techniques to hide a large amount of data in the operand fields with very low computation and storage requirements during the extraction process. The data embedding is made reversible to recover the original instructions and to ensure the correct execution of the computer program. Our experiments on the SPEC CPU2000 benchmark programs show that up to 110K bits of information can be embedded in large programs with as little as 3K bits of additional run-time memory in the form of a simple look-up table.