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

处理器设计的谬误(1)

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

  在计算机发展的整个70年期间,曾经出现了各种各样的分立 和嵌入式处理器种群,它们已经进化,并且有些种群已经逐渐消失。从这一进化中产生了许多新奇的设计。有些新奇的概念继续生存,有些几乎立即消亡,而一些概 念仅仅存活了短暂的时间就销声匿迹了,但是,继承他们基因的技术在后续的种群中再次出现。

  本系列深度分析文章将调查13种不成功的处理器种群。这些文章探索了造成每一个处理器种群死亡的主要设计错误。每一个主要设计错误还用一个或几 个例子来阐述。然而,随着技术使得许多老的概念焕发新生、重塑辉煌并再次成为新概念而获得无止境的重复利用,也许不知什么时候,勇猛的探索者/设计师将接 下来遇见这些处理器种群当中的哪一个呢?这些种群可能被当成是恐龙:许多基于这些概念的处理器曾经就是它们那个时代的优势种群,或者,已经曾经大放光芒并 极其繁荣而引起了大量的关注。正是因为不断进化的世界造成了我们的处理器种群的必然演化甚至灭绝,但这并不意味着一个处理器种群在它存在的鼎盛时期不能合 理地适应世界。

错误1:设计高水平的计算机指令集架构以支持特殊的语言或语言域(Myopisaur)。

  从最早的计算时代起,人们不断推动在抽象级解决编程问题,从接线板编程、拨动开关输入、机器语言输入、汇编语言到整个一大群“高级”编程语言(HLL),从上世纪50年代的Fortran和Cobol,乃至上下半叶研究出来的几百或上千种编程语言。

  HLL一被开发出来,人们就开始担心用于捕获编程问题的答案HLL描述与被在目标机上执行的由HLL编译器产生的实际指令之间的语义差异。每一 种编译器常常产生不好的结果—有时候非常糟糕。即使现在,尽管编译器的开发经历了50多年,但是,对于许多算法来说,最高技能的人类汇编语言编码员所获得 的编译结果的质量,要比由最佳的HLL编程器与最佳的可用最优化编译器所产生的代码高一个数量级(或一个数量级以上)。

  计算机研究人员和商用计算机供应商不可避免地开始研究根据特殊的HLL或语言种群调节一种特殊处理器的可行性,以期把处理器的指令集与语言的要求更为紧密地匹配起来,并缩小语义差异。其理论就是以那些目标HLL编写的程序应该在这些经调整的机器上更为高效地执行。

一系列不合适的努力

  为了实现这一方法—出现在从主机、微型机、分立微处理器IC到嵌入式处理器内核—的几十年经验以及努力,已经再三地确定这种方法是一个重大架构 错误。的确,在Hennessy和Patterson关于计算机架构的开创性图书中可以发现这是典型的“谬误和缺陷”之一[HEN, p. 142]。

  这一方法存在的基本问题是多方面的:尽管已经被调整为一种语言,但是,处理器可能(而且非常可能将)被用于运行于其它语言编写的程序。经调整的处理器将—因其针对特定语言的调整—在运行采用这些其它HLL编写的程序时效率比较低。

  在较早时代,硬件资源很少被花费在极少被采用的指令的有效执行上—这是对昂贵的架构资本的一种劣质应用。

  因一种HLL构造的一些非常特殊的应用,针对特定语言的指令可能终止执行,并且对于典型和最常见的应用是没有用的。因此,对这种指令的硬件本质上是一种浪费。

  语言演化。基于固定、针对特殊HLL硬件的计算机架构较之于语言本身趋向于在非常长的时间内维持不变,因为软件比硬件更加易于变化。

  针对特殊HLL的处理器的流行被目标HLL的普及而被无情地终结。在各种语言中的少数体验造成一种处理器具有最少的市场诉求。

  因此,这种架构方法的缺陷花了很长时间才显现出来。从上世纪60年代至80年代中期,在RISC架构方法发源以前,基于复杂指令集计算机 (CISC)、针对特殊HLL的计算机架构激起了巨大的兴趣。研究人员撰写了几百或上千的论文,关于这个课题的专题研讨会和座谈会相当流行,而各个公司根 据这一设计哲学向市场推出各种真实的机器。

E-mode意味着缓慢的模式

  Burroughs公司的"E-mode"机可能是被设计为支持特殊语言的最著名的机器系列。这个系列包括从上世纪60年代初至90年代的 B5000/6000/7000 和A-series机(一些兼容的处理器仍然在供货)1。这些机器被设计为直接执行Algol 60。这种计算机家族还具有许多其它重要的功能,包括基于堆栈的架构、非平存储器的利用、无汇编语言、操作系统和专用的管理子系统采用与Algol 60的直接对话编写、并且采用的是48比特的存储字(加上标签比特)。的确,在上世纪60年代和70年代期间,Burroughs几乎成为了针对特殊 HLL的计算机设计方法的偶像。

在这个时期,这家公司生产了中等规模和小型的针对Cobol的

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

网站地图

Top