微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 处理器设计的谬误(1)

处理器设计的谬误(1)

时间:05-12 来源:互联网 点击:

司的Jazelle处理器等等)。这些针对Java的处理器鼓动起一些兴趣,但是,并未激发狂热。在当代的嵌入式世界 中,设计工程师为了陈述Java应用,在传统的高性能处理器以及即时(JIT)编译上解释Java已经被证明是更加引人兴趣的路线。此外,在嵌入式处理器 性能上的持续改善常常证明对于在嵌入式产品中的许多Java应用来说是相当足够的,这些应用主要是面向控制和用户界面。如果针对特定语言的处理器路线通过 四个计算时代已经证明它自身就是最令人误导的方法的话,对于那些希望利用硬件以超越通用目的处理器的方式加速语言、以及用那些语言编写的应用程序的人来 说,有什么其它的选项是不受限制的?

  要抛弃的第一个概念一定是“一切关于语言”这个概念。的确,对于数据处理加强的应用来说,它更多的“一切关于”计算以及通信内核和嵌入在程序中 的算法。如果一个应用程序涉及重复地执行大矢量的标量积,那么,对于不采用具有规模适当的硬件乘法器或者更好的乘法-累加器(MAC)单元的处理器来说, 不论采用Fortran、Ada、C、Java、Basic或是COBOL编写的程序来执行这一应用,其速度均会很慢。如果对于所采用的语言来说,处理器 具有合适功能的单元和良好HLL编译器(或解释器),那么,以这些语言当中的任何一种表达的算法应该执行得相当快速,不论采用什么语言。

  正是算法的特征—而不是语言的特征—被用于设计、修改或选择正确的处理器。对于这一应用,你或者可以搜寻一种具有乘法器或MAC单元的处理器 (和或零开销的循环)—DSP可能是良好的选择,或者—甚至更好的—你可以采用指令集扩展以裁剪一个可配置的处理器内核,使之更为精确地满足应用的性能和 通信要求。在这种意义上说,搜寻一种针对特定HLL的计算机架构现在可以由搜寻一种面向特定应用的指令集处理器(ASIP)来取代。

  注释*:本系列文章以“Processor Design: System-On-Chip Computing for ASICs and FPGAs, Jari Nurmi (editor), Springer, June 2007. ”一书的其中一章为基础。

  注释1:作者之一Grant Martin为Burroughs工作。在这篇系列文章中一再采用E-mode机作为例子,可以被视为对令人感兴趣的那个时代的有点怀旧和充满深情的回忆。

参考文献:

[CHU] Yaohan Chu 编,High-Level Language Computer Architecture,Academic Press, 纽约, 1975
[CHU-CAR] 上述[CHU]的第三章,Carl R. Carlson, High-Level Language Computer Architecture
[CHU-DOR] 上述[CHU]的第四章,Robert W. Doran, Architecture of Stack Machines
[DIT80] David R. Ditzel和David A. Patterson, Retrospective on High-Level Language Computer Architecture, Proceedings of the 7th Annual Symposium on Computer Architecture, La Baule, 法国 (1980年6月), pp. 97104
[DIT87a] David R. Ditzel, Hubert R. McLellan和Alan D. Berenbaum, Design Tradeoffs to Support the C Programming Language in the CRISP Microprocessor, ASPLOS 1987, pp. 158163
[DIT87b] David R. Ditzel, Hubert R. McLellan和Alan D. Berenbaum, The Hardware Architecture of the CRISP Microprocessor, Proceedings of the 14th Annual International Symposium on Computer Architecture, Pittsburgh, Pennsylvania, 美国, 1987, pp. 309319
[EAR] E. Dean Earnest, Twenty years of Burroughs high-level language machines, Proceedings of the International Workshop on High-Level Language Computer Architecture, June 1980, pp. 6471
[FAG] Barry Fagin, Yale Patt, Vason Sirni, Alvin Despain, Compiling Prolog into Microcode: A Case Study Using the NCR/32-000, Proceedings of the 18th IEEE Microprogramming Workshop, 1985年12月
[GEH] Edward F. Gehringer and Robert P. Colwell, Fast Object-oriented procedure calls: lessons from the Intel 432, Proceedings of the 13th Annual International Symposium on Computer Architecture, 日本东京, 1986, pp. 92101
[HAS] A. Hassitt, J. W. Lageschulte和L.E. Lyon, Implementation of a High Level Language Machine, Communications of the ACM,1973年4月, Volume 16, Number 4, pp. 199212
[HEN] John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach, 3rd edition (2003), Elsevier Morgan Kaufmann, 旧金山
[ORG73] E.I. Organick, Computer Systems Organization: The B5700/B6700 Series, Academic Press, 纽约, 1973
[ORG77] Elliott I. Organick, James A. Hinds, Architecture and Programming of the B1700/B1800 Series, North-Holland, 纽约, 1977.
[UNI] Reuters新闻, Unisys Introduces Micro A Computer, 1989年1月19日 URL:http://query.nytimes.com/gst/fullpage.html?res=950DE2DE113AF93AA25752C0A96F948260
[WHO] Skef Wholey和Scott F. Fahlman, The Design of an Instruction Set for Common Lisp, ACM Symposium on LISP and Functional Programming, 1984, pp. 150158

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top