可重构指令集处理器设计中的软件重定向关键技术研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
电子信息技术、网络技术和硬件工艺的迅猛发展使得计算机系统越来越复杂。新应用领域的兴起对程序与计算能力提出了越来越严格的要求,多变的用户群体使得处理器的执行任务具有了高动态性的特点,而传统的基于静态指令集设计的处理器已经无法满足这类需要兼顾性能和灵活性两方面因素的应用需求。为了能够高效地适应用户动态变化的任务需求,可重构指令集处理器应运而生。
     可重构指令集处理器将可重构技术应用到专用指令集处理器的实现中,利用可重构逻辑器件的硬件可编程性,针对不同的应用特征自适应地定制其最优的执行环境,从而在保有专用指令集处理器优点的前提下更有效地满足嵌入式领域的不同应用要求。由于可重构指令集处理器的指令集能够在设计完成后根据应用程序特点进行动态更改,与传统的固定指令集的处理器设计有很大的不同。这就使得针对传统处理器设计的软件工具链不适合于可重构指令集处理器应用程序的开发,需要有新的设计方法用于构造适应动态指令集特征的工具链,以便充分挖掘系统的处理性能。
     本文针对上述的问题,以所设计的支持动态剖析的可重构指令集处理器为基础平台,提出了一个能够实现软件工具链可重定向设计的开发方案。该方案在对应用程序进行初始快速编译后利用仿真器执行二进制代码,通过对执行信息的剖析、映射等过程获得处理器的扩展指令集合。然后利用新的指令集体系结构完成对编译器和仿真器的可重定向扩展,实现对应用程序的优化编译。所提出的方案能够保证所设计的可重构指令集处理器在针对不同应用任务进行指令定制和硬件重构后,其上层应用程序开发模式的一致性和可重用性,满足对应用程序的兼容性要求,从而能够提高开发效率,降低开发人员的负担,并且对新的嵌入式处理器的开发设计和仿真评估具有积极的意义。
     在所设计的软件工具链可重定向开发方案中,剖析机制和编译代码生成是整个方案的核心问题,而这两者之间的联系在于实现动态指令序列与静态代码结构的映射匹配。因此,为了实现针对可重构指令集处理器体系结构的工具链可重定向设计,快速有效地生成能够高性能执行的二进制代码,本文深入地研究了软件工具链可重定向开发方案中的三个关键技术,包括高效的热点动态剖析技术、热点代码映射匹配机制和编译后端可重定向实现。
     本论文的主要贡献体现在下述几个方面:
     1)提出了一种适合所设计的具有动态剖析特性的可重构指令集处理器的软件工具链可重定向开发方案,融合了热点剖析、动静代码映射及编译后端重定向等关键技术,能很好地适应动态变化的软硬件环境,提高开发效率。
     2)研究了一种基于路径剖析的可配置热点剖析机制。其与处理器松散耦合,不需了解处理器微体系结构信息而完成剖析。同时,兼具对全过程剖析和采样剖析的支持,能够针对不同的应用需求而采取不同的剖析方案,使得用户可以权衡剖析准确度和剖析开销两方面的因素而作出选择。
     3)研究了一种基于代数多项式表示的动-静代码映射匹配算法。该算法利用代数多项式来表示代码中的基本块乃至函数体与循环体等结构,在此基础上结合串匹配和多层次搜索的思想,通过多项式搜索匹配的方法实现动态序列表示与静态代码多项式集合的映射匹配,进而用于对源代码的注释标识。
     4)研究了一个扩展传统编译后端代码生成三阶段方法的代码混合优化生成算法。该算法能够根据可用资源情况和系统重构配置针对可重构指令的代码生成进行优化处理,获得切合平台特性的可执行程序,并且很大程度地复用原有三阶段方法中对基本指令集的代码生成算法,简化了实现的复杂度。
Computer system has been more complicated because of the rapid development of electronic, network and hardware technique. With the emergence of new applications and varied user requirements, the programmability and calculability of processors become more and more challenging. The conventional processor design based on static instruction sets can't achieve the requirements on both of performance and flexibility. So the reconfigurable instruction set processor (RISP) emerged.
     RISP is the application specific instruction-set processor combined with reconfiguration technology. Through the programmability of reconfigurable arrays, RISP can custom the best appropriate environment for a special application executing, so that it can efficiently meet diverse requirements in the embedded domain. RISP is very different from the conventional processor that its instruction set can be modified when executing, and so the software tools which are designed for the conventional processor don't adapt to code generation of RISP. To take full advantage of the performance of RISP, the new software tools design methodology for fitting dynamic instruction sets is needed.
     According to the above, this dissertation presents a design flow of retargetable software tools development environment (RSTDE) based on our RISP framework named DP-RISP which supports dynamic profiling. RSTDE profiles the simulating execution of applications, generates new extended reconfigurable instructions and maps them to source codes. Then it retargets compiler and simulator with the new instructions to generate the optimized binary codes for applications. RSTDE can keep the consistency and reusability of applications after the architecture of DP-RISP has been reconfigured. It can accelerate development of software tools, reduce workload of developers and expedite the design and evaluation of new embedded processors.
     In RSTDE, profiler and compiler are the main parts and the interface between them is the mapping mechanism for dynamic traces to static codes. Therefore, to implement the design of RSTDE, the dissertation focus on the three key techniques including dynamic profiling for hot spots of applications, mapping the dynamic spots to static codes and code generation of the retargetable compiler.
     The novelties and contributions of this dissertation are as below:
     1) Presents a design flow of retargetable software tools development environment for our DP-RISP. The flow includes dynamic profiling, dynamic-to-static mapping and retargetable compiling, which adapts to the change of hardware and software.
     2) Presents a configurable profiler for dynamic hot path detection. It can work with processors loosely and accurately obtain sensitive hot information of executing programs on instruction level while supports multiple sampling policies. Through configuration, the profiler can perform different profiling policies and profile target programs continuously or discretely.
     3) Presents a dynamic-to-static code mapping algorithm which is based on the polynomial representation. Through the polynomial representations of basic blocks and even functions and loops in codes, a method of polynomials matching by layering exploration is used to map dynamic traces to static codes. The results are then used to annotate and instrument source codes.
     4) Presents a mixed code-generating algorithm based on the extension of the conventional three-step method in compilation. The algorithm generates the binary codes for extended reconfigurable instructions according to the reconfigurable resources and configuration and makes the best reuse of the conventional method.
引文
Adams, W. W. and P. Loustaunau (1994). An Introduction to Grobner Bases, American Mathematical Society.
    Almer,O., R. Bennett, et al. (2009). An End-to-End Design Flow for Automated Instruction Set Extension and Complex Instruction Selection based on GCC.1st International Workshop on GCC Research Opportunities, Paphos, Cyprus.
    Altera Nios II processor: The world's most versatile embedded processor.
    Arnold, M. and D. Grove (2005). Collecting and Exploiting High-Accuracy Call Graph Profiles in Virtual Machines. Proceedings of the international symposium on Code generation and optimization, IEEE Computer Society.
    Aziz Ur, R., A. A. Syed, et al. (2007). Intelligent Reconfigurable Instruction Set Processor (IRISP) Design. Multitopic Conference,2007. INMIC 2007. IEEE International.
    Ball, T. and J. R. Larus (1996). Efficient path profiling. Microarchitecture,1996. MICRO-29. Proceedings of the 29th Annual IEEE/ACM International Symposium on.
    Barat, F., M. Jayapala, et al. (2003). "Low Power Coarse-Grained Reconfigurable Instruction Set Processor." Field-Programmable Logic and Applications 2778:10.
    Barat, F., M. Jayapala, et al. (2001). Reconfigurable instruction set processors:an implementation platform for interactive multimedia applications. Signals, Systems and Computers,2001. Conference Record of the Thirty-Fifth Asilomar Conference on.
    Barat, F. and R. Lauwereins (2000). Reconfigurable instruction set processors:a survey. Rapid System Prototyping,2000. RSP 2000. Proceedings.1 lth International Workshop on.
    Barat, F., R. Lauwereins, et al. (2002). "Reconfigurable Instruction Set Processors from a Hardware/Software Perspective." IEEE Trans. Softw. Eng.28(9):847-862.
    Beeck, P. O. d., F. Barat, et al. (2001). CRISP:A Template for Reconfigurable Instruction Set Processors. Proceedings of the 11th International Conference on Field-Programmable Logic and Applications, Springer-Verlag.
    Bond, M. D. and K. S. McKinley (2005). Continuous Path and Edge Profiling. Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture. Barcelona, Spain, IEEE Computer Society.
    Bond, M. D. and K. S. McKinley (2005). Practical Path Profiling for Dynamic Optimizers. Proceedings of the international symposium on Code generation and optimization, IEEE Computer Society.
    Bondalapati, K. and V. K. Prasanna (2002). "Reconfigurable computing systems." Proceedings
    of the IEEE 90(7):1201-1217.
    Briggs, P., K. D. Cooper, et al. (1994). "Improvements to graph coloring register allocation." ACM Trans. Program. Lang. Syst.16(3):428-455.
    Brooks, D., V. Tiwari, et al. (2000). Wattch:a framework for architectural-level power analysis and optimizations. Computer Architecture,2000. Proceedings of the 27th International Symposium on.
    Campi, F., A. Cappelli, et al. (2003). A reconfigurable processor architecture and software development environment for embedded systems. Parallel and Distributed Processing Symposium,2003. Proceedings. International.
    Carchiolo, V., M. Malgeri, et al. (1997). Approach to the Synthesis of HW and SW in Codesign. Proceedings of the 5th International Workshop on Hardware/Software Co-Design, IEEE Computer Society.
    Cardoso, J. M. P. and P. C. Diniz (2008). Compilation Techniques for Reconfigurable Architectures, Springer Publishing Company, Incorporated.
    Chaitin, G. J. (1982). Register allocation & spilling via graph coloring. Proceedings of the 1982 SIGPLAN symposium on Compiler construction. Boston, Massachusetts, United States, ACM.
    Chawla, A. and A. Orso (2004). "A generic instrumentation framework for collecting dynamic information." SIGSOFT Softw. Eng. Notes 29(5):1-4.
    Chen, H., Y. Chen, et al. (1991). Experiences in developing an Ada cross compiler. Proceedings of the conference on TRI-Ada'91:today's accomplishments; tomorrow's expectations. San Jose, California, United States, ACM.
    Chen, Y. and F. Zhang (2007). "Code reordering on limited branch offset." ACM Trans. Archit. Code Optim.4(2):10.
    Claessen, K. and G. J. Pace (2002). "An embedded language approach to teaching hardware compilation." SIGPLAN Not.37(12):35-46.
    Clark, N., J. Blome, et al. (2005). An architecture framework for transparent instruction set customization in embedded processors. Computer Architecture,2005. ISCA '05. Proceedings.32nd International Symposium on.
    Code_refactoring. "http://en.wikipedia.org/wiki/Code_refactoring."
    Compton, K. and S. Hauck (2002). "Reconfigurable computing: a survey of systems and software." ACM Comput. Surv.34(2):171-210.
    Cormen, T. H., C. E. Leiserson, et al. (2001). Introduction to Algorithms, MIT Press and McGraw-Hill.
    Dehon, A. and J. Wawrzynek (1999). Reconfigurable computing:what, why, and implications for design automation. the 36th annual ACM/IEEE Design Automation Conference. New Orleans, Louisiana, United States, ACM.
    Duesterwald, E. and V. Bala (2000). Software profiling for hot path prediction: less is more. Proceedings of the ninth international conference on Architectural support for programming languages and operating systems. Cambridge, Massachusetts, United States, ACM.
    El-Ghoroury, H. N., P. R. LaBarbera, et al. (1987). Software portability in embedded, distributed systems. Proceedings of the Joint Ada conference fifth national conference on Ada technology and fourth Washington Ada Symposium. Arlington, Virginia, United States, George Washington University.
    Estrin, G., B. Bussel, et al. (1963). "Parallel Processing in a Restructurable Computer System." IEEE Transactions on Electronic Computers 12:747-755.
    FERREIRA, V. M. G, L. GAUTHIER, et al. (2006). REDEFIS:a system with a redefinable instruction set processor. Proceedings of the 19th annual symposium on Integrated circuits and systems design. Ouro Preto, MG, Brazil, ACM.
    Filho, J. O., S. Masekowsky, et al. (2009). "CGADL:An Architecture Description Language for Coarse-Grained Reconfigurable Arrays." Very Large Scale Integration (VLSI) Systems, IEEE Transactions on 17(9):1247-1259.
    Fowler, M. (2003). Refactoring: Improving the Design of Existing Code.
    Fraser, C. W. and D. R. Hanson (1995). A Retargetable C Compiler: Design and Implementation, Addison-Wesley Longman Publishing Co., Inc.
    Galuzzi, C. and K. Bertels (2008). The Instruction-Set Extension Problem:A Survey. Proceedings of the 4th international workshop on Reconfigurable Computing:Architectures, Tools and Applications. London, UK, Springer-Verlag.
    Gatzka, S. and C. Hochberger (2005). "The AMIDAR Class of Reconfigurable Processors." J. Supercomput.32(2):163-181.
    GCC. "http://gcc.gnu.org/."
    Ghafarian, A. K. (2005). Reverse engineering technique to enhance software engineering education. Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education. Caparica, Portugal, ACM.
    Glokler, T. and H. Meyr (2004). Design of Energy-Efficient Application-Specific Instruction Set Processors, Kluwer Academic Publishers.
    Gonzalez, R. E. (2000). "Xtensa:a configurable and extensible processor." Micro, IEEE 20(2): 60-70.
    Goossens, G., J. Van Praet, et al. (1997). "Embedded software in real-time signal processing systems:design technologies." Proceedings of the IEEE 85(3):436-454.
    Grant, B., M. Mock, et al. (1997). Annotation-directed run-time specialization in C. Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation. Amsterdam, The Netherlands, ACM.
    Gupta, S., P. Pratap, et al. (2006). Dynamic code instrumentation to detect and recover from return address corruption. Proceedings of the 2006 international workshop on Dynamic systems analysis. Shanghai, China, ACM.
    Housel, B. C. and M. H. Halstead (1974). A methodology for machine language decompilation. Proceedings of the 1974 annual conference-Volume 1, ACM.
    Imai, M. (1999). Embedded tutorial:hardware/software codesign. Design Automation Conference,1999. Proceedings of the ASP-DAC'99. Asia and South Pacific.
    IP_core. "http://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core."
    Iqbal, M. A. and U. S. Awan (2009). Run-Time Reconfigurable Instruction Set Processor design: RT-RISP. Computer, Control and Communication,2009. IC4 2009.2nd International Conference on.
    Iqbal, M. A., S. A. Khan, et al. (2008). RISP design with most optimal configuration overhead for VLIW based architectures. Electrical Engineering,2008. ICEE 2008. Second International Conference on.
    Jain, M. K., M. Balakrishnan, et al. (2001). ASIP design methodologies:survey and issues. VLSI Design,2001. Fourteenth International Conference on.
    Ji, J. (2008). Study on Dynamic Instruction-Set Based Adaptive Processor. Hefei, University of Science and Technology of China. Doctor.
    Jimenez, D. A. (2005). Code placement for improving dynamic branch prediction accuracy. Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation. Chicago, IL, USA, ACM.
    Joshi, R., M. D. Bond, et al. (2004). Targeted Path Profiling:Lower Overhead Path Profiling for Staged Dynamic Optimization Systems. Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization. Palo Alto, California, IEEE Computer Society.
    Juncao, L., N. T. Pilkington, et al. (2008). Embedded Architecture Description Language. Computer Software and Applications,2008. COMPSAC '08.32nd Annual IEEE International.
    Karuri, K., A. Chattopadhyay, et al. (2008). "A Design Flow for Architecture Exploration and Implementation of Partially Reconfigurable Processors." Very Large Scale Integration (VLSI) Systems, IEEE Transactions on 16(10):1281-1294.
    Keutzer, K., S. Malik, et al. (2002). From ASIC to ASIP:the next design discontinuity. Computer Design: VLSI in Computers and Processors,2002. Proceedings.2002 IEEE International Conference on.
    Khan, M. A. (2009). "Feedback-directed specialization of code." Computer Languages, Systems & Structures 36(1):2-15.
    Khan, M. A., H.-P. Charles, et al. (2008). An Effective Automated Approach to Specialization of Code. Languages and Compilers for Parallel Computing:20th International Workshop, LCPC 2007, Urbana, IL, USA, October 11-13,2007, Revised Selected Papers, Springer-Verlag:308-322.
    Knuth, D., J. H. Morris, et al. (1977). "Fast pattern matching in strings." SIAM Journal on Computing 6(2):323-350.
    Koester, M., W. Luk, et al. (2008). A hardware compilation flow for instance-specific VLIW cores. Field Programmable Logic and Applications,2008. FPL 2008. International Conference on.
    Kucukcakar, K. (1999). An ASIP design methodology for embedded systems. Hardware/Software Codesign,1999. (CODES'99) Proceedings of the Seventh International Workshop on.
    Kuzmanov, G., G. Gaydadjiev, et al. (2004). The MOLEN processor prototype. Field-Programmable Custom Computing Machines,2004. FCCM 2004.12th Annual IEEE Symposium on.
    Lan, L., L. Xi, et al. (2002). XM-ADL, an extensible markup architecture description language. ASIC/SOC Conference,2002.15th Annual IEEE International.
    Leupers, R., K. Karuri, et al. (2006). A design flow for configurable embedded processors based on optimized instruction set extension synthesis. Design, Automation and Test in Europe, 2006. DATE'06. Proceedings.
    Lex&Yacc. "http://www.ibm.com/developerworks/cn/linux/sdk/lex/index.html."
    Lin, H. and Y. Fei (2007). Utilizing custom registers in application-specific instruction set processors for register spills elimination. Proceedings of the 17th ACM Great Lakes symposium on VLSI. Stresa-Lago Maggiore, Italy, ACM.
    LISP. "http://en.wikipedia.org/wiki/Lisp_(programming_language)."
    Lodi, A., M. Toma, et al. (2003). "A VLIW processor with reconfigurable instruction set for embedded applications." Solid-State Circuits, IEEE Journal of 38(11):1876-1886.
    Magar, S., E. Caudel, et al. (1982). A microcomputer with digital signal processing capability. Solid-State Circuits Conference. Digest of Technical Papers.1982 IEEE International.
    Mansfield, E. L. and A. Szanto (2003). Elimination theory for differential difference polynomials. Proceedings of the 2003 international symposium on Symbolic and algebraic computation. Philadelphia, PA, USA, ACM.
    Mehdipour, F., H. Noori, et al. (2008). Performance evaluation of a reconfigurable instruction set processor. SoC Design Conference,2008. ISOCC'08. International.
    Mehdipour, F., H. Noori, et al. (2009). A combined analytical and simulation-based model for performance evaluation of a reconfigurable instruction set processor. Proceedings of the 2009 Asia and South Pacific Design Automation Conference. Yokohama, Japan, IEEE Press.
    Memik, G., W. H. Mangione-Smith, et al. (2001). NetBench: a benchmarking suite for network processors. Proceedings of the 2001 IEEE/ACM international conference on Computer-aided design. San Jose, California, IEEE Press.
    Merten, M. C, A. R. Trick, et al. (1999). A hardware-driven profiling scheme for identifying program hot spots to support runtime optimization. Proceedings of the 26th annual international symposium on Computer architecture. Atlanta, Georgia, United States, IEEE Computer Society.
    Mishra, P., A. Shrivastava, et al. (2004). Architecture description language (ADL)-driven software toolkit generation for architectural exploration of programmable SOCs. Proceedings of the 41st annual Design Automation Conference. San Diego, CA, USA, ACM.
    Mooney, J. D. (1992). A course in software portability. Proceedings of the twenty-third SIGCSE technical symposium on Computer science education. Kansas City, Missouri, United States, ACM.
    Noori, H., F. Mehdipour, et al. (2008). "An architecture framework for an adaptive extensible processor." J. Supercomput.45(3):313-340.
    Palem, K. V., S. Talla, et al. (2001). Compiler Optimizations for Adaptive EPIC Processors. Proceedings of the First International Workshop on Embedded Software, Springer-Verlag.
    Perl. "http://www.perl.org/."
    Perugini, M. A. (1991). A Flexible Approach to Test Program Cross Compilers. Proceedings of the IEEE International Test Conference on Test: Faster, Better, Sooner, IEEE Computer Society.
    Pettis, K. and R. C. Hansen (1990). "Profile guided code positioning." SIGPLAN Not.25(6): 16-27.
    Peymandoust, A., L. Pozzi, et al. (2003). Automatic instruction set extension and utilization for embedded processors. Application-Specific Systems, Architectures, and Processors,2003. Proceedings. IEEE International Conference on.
    Rabaey, J., J. Kunkel, et al. (2002). What's the next EDA driver? Proceedings of the 39th annual Design Automation Conference. New Orleans, Louisiana, USA, ACM.
    Reshadi, M., N. Dutt, et al. (2006). "A retargetable framework for instruction-set architecture simulation." ACM Trans. Embed. Comput. Syst.5(2):431-452.
    Rosa, A. L., L. Lavagno, et al. (2001). A software development tool chain for a reconfigurable processor. Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems. Atlanta, Georgia, USA, ACM.
    Sadykhov, R. K. and A. A. Uvarov (2007). Loop Parallelization Algorithm for Specific Case of Loop-carried Dependence for Hardware Compilation. Intelligent Data Acquisition and Advanced Computing Systems:Technology and Applications,2007. IDAACS 2007.4th IEEE Workshop on.
    Scharwaechter, H., D. Kammler, et al. (2007). "ASIP architecture exploration for efficient IPSec encryption:A case study." ACM Trans. Embed. Comput. Syst.6(2):12.
    SimpleScalar. "http://www.simplescalar.com/."
    Smith, J. and G. De Micheli (2001). "Polynomial circuit models for component matching in high-level synthesis." Very Large Scale Integration (VLSI) Systems, IEEE Transactions on 9(6):783-800.
    Stolberg, H. J., M. Ikekawa, et al. (1997). Code positioning to reduce instruction cache misses in signal processing applications on multimedia RISC processors. Acoustics, Speech, and Signal Processing,1997. ICASSP-97.,1997 IEEE International Conference on.
    Takeuchi, Y., K. Shibata, et al. (1994). Codesign methodology on programmable hardware and software system. Circuits and Systems,1994. APCCAS'94.,1994 IEEE Asia-Pacific Conference on.
    Talla, S. (2000). Adaptive Explicitly Parallel Instruction Computing. Department of Computer Science, New York University. Doctor of Philosophy:175.
    Tanigawa, K., R. Hada, et al. (2007). A Reconfigurable Processor PARS and its Compiler. Innovative architecture for future generation high-performance processors and systems, 2007. iwia 2007. international workshop on.
    Tanner, P. (1996). "Software portability:still an open issue?" StandardView 4(2):88-93.
    Todman, T. J., G. A. Constantinides, et al. (2005). "Reconfigurable computing:architectures and design methods." Computers and Digital Techniques, IEE Proceedings-152(2):193-207.
    Vassiliadis, N., G Theodoridis, et al. (2006). An automated development framework for a RISC processor with reconfigurable instruction set extensions. Parallel and Distributed Processing Symposium,2006. IPDPS 2006.20th International.
    Vassiliadis, N., G Theodoridis, et al. (2007). The ARISE Reconfigurable Instruction Set Extensions Framework. Embedded Computer Systems:Architectures, Modeling and Simulation,2007. IC-SAMOS 2007. International Conference on.
    Vassiliadis, N., G. Theodoridis, et al. (2009). "An Application Development Framework for ARISE Reconfigurable Processors." ACM Trans. Reconfigurable Technol. Syst.2(4):1-30.
    Vassiliadis, S., S. Wong, et al. (2004). "The MOLEN polymorphic processor." Computers, IEEE Transactions on 53(11):1363-1375.
    Vaswani, K., M. J. Thazhuthaveetil, et al. (2005). A Programmable Hardware Path Profiler. Proceedings of the international symposium on Code generation and optimization, IEEE Computer Society.
    Wall, D. W. (1991). "Predicting program behavior using real or estimated profiles." SIGPLAN Not.26(6):59-70.
    Wang, F. (2007). Research on the Key Technologies of Partial Reconfigurable Computing System. Hefei. University of Science and Technology of China. Doctor.
    Wang, R., X. Wang, et al. (2008). Towards automatic reverse engineering of software security configurations. Proceedings of the 15th ACM conference on Computer and communications security. Alexandria, Virginia, USA, ACM.
    Wang, Z. (2006). Research on Retargetable Application Specific Instruction Set Processor Simulation and Evaluation, University of Science and Technology of China. Doctor.
    Wankang, Z., D. Whalley, et al. (2004). WCET code positioning. Real-Time Systems Symposium,2004. Proceedings.25th IEEE International.
    Weinhardt, M. and W. Luk (2000). Evaluating hardware compilation techniques. Field-Programmable Custom Computing Machines,2000 IEEE Symposium on.
    Whaley, J. (2001). "Partial method compilation using dynamic profile information." SIGPLAN Not.36(11):166-179.
    Wilson, R. P., R. S. French, et al. (1994). "SUIF:an infrastructure for research on parallelizing and optimizing compilers." SIGPLAN Not.29(12):31-37.
    Wirth, N. (1998). "Hardware compilation: translating programs into circuits." Computer 31(6): 25-31.
    Xilinx Embedded processing.
    Xilinx (1999). "An Overview of Multiple CAM Designs in Virtex Family Devices.".
    Yang, J. (2006). Research on Application Specific Instruction Set Processor (ASIP) Architecture Design. Hefei, University of Science and Technology of China. Doctor.
    Yehia, S., N. Clark, et al. (2005). Exploring the design space of LUT-based transparent accelerators. Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems. San Francisco, California, USA, ACM.
    Yi, W. (2009). What motivate software engineers to refactor source code? evidences from professional developers. Software Maintenance,2009. ICSM 2009. IEEE International Conference on.
    Zhu, A. Y., X. Li, et al. (2006). "A Fast Instruction Set Evaluation Method for ASIP Designs." Embedded and Ubiquitous Computing.
    Zou, Q., M. Wu, et al. (2008). "An Instrument-analysis framework for adaptive prefetch optimization in JVM." Journal of Software 19(7):9.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700