广告

为“别人的设计”(SED)问题进行除错

2019-09-24 Dwight Bues, EE Times Guru 阅读:
为“别人的设计”(SED)问题进行除错
你曾经不得不去除错或改善“别人的设计”(Someone Else's Design;SED)吗?你如何剥茧抽丝地找到问题发生的根源,以及如何发挥你的工程专业,解决那些棘手的问题?

一位知名的喜剧演员曾经创造了这句流行用语──“我很不喜欢这种感觉!”(I hate it when that happens!!!)。我其实完全能够了解那种感受。每一次当我不得不去破解、除错或改善“别人的设计”(Someone Else's Design;SED)时,我相信自己都说了这句话。3Zfednc

有一天,我的老板给了我一个任务,要我去弄清楚一个基于VMEBus的处理器接口盒究竟是哪里出错了。由于这是在1990年代那个桌面计算机独大的“黑暗时代”(Dark Ages),这个接口盒中有一款摩托罗拉(Motorola) 68010微处理器,并采用汇编语言(而非C语言、JAVA或HTML)进行编码。我们所做的事就是将两个6RU机架高、以绕线连接且基于7400逻辑电路的客制化接口盒置入一个5RU高的VMEBus盒中,并使其维持与两个HP1000 Fast Fortran处理器的连接。3Zfednc

这个界面盒表面平滑:前方的触控面板用于执行处理器的状态,并显示从接口所记录到的数据信息等。但这个接口盒原本面临的问题就十分吊诡──想想看,你如何能将10磅的东西放在承重仅5磅的袋子里?从封装、布线、后面板的连接器、电源以及冷却器看来都很正常。但问题是,为了尽量地节省机架空间等,设计人员采用了超越其能力所及的组装语言进行编码作业。3Zfednc

原来的接口仅建置了‘L’模式。新的VMEBus设计则同时建置‘L’和‘S’模式,使复杂度增加了4倍。在‘L’模式下,每125微秒从144bit的数据框架下提取DF和NV位,使L模式成功地完成建置。3Zfednc

然而,‘S’模式是一种新的编码方式。这种模式则是每四个193位、125ms提供一个DF和NV位。测试此模式后发现无法顺利运作。我怀疑问题就出在以汇编语言编码的逻辑电路建置上。我后来打了几次电话询问才知道当初的设计人员已经离职了,现在完全没人可回答有关他这一设计的任何问题了。3Zfednc

我只好开始研究汇编程序码,发现设计人员对于所做的一切都进行了完整的建文件作业。但有关汇编语言所要解决的最大难题通常都跟“子程序”(subroutine)语言有关。如果你看到布满‘JSR’和‘RTS’的程序代码,你可就很难追踪到原来的逻辑建置作业了。很快地你就会发现,子程序存取作业也需要用到一些CPU周期来执行。而这就是在编写汇编语言时用于进行控制的关键参数。至于处理中断服务程序(ISR)就更棘手了,因为只要外部中断一发生,ISR就会随时启动执行。3Zfednc

最后我终于发现,大部份用于寻找DF和NV的逻辑是透过ISR内部所执行的,每512微秒执行两次ISR作业。现在我几乎就要解决这个问题了。我找到了Motorola Assembler手册,然后开始增加执行ISR所需的CPU指令周期,接着就发现其中一个ISR无法在下一次中断发生前完成指令作业,因而不断地耗用CPU堆栈中的缓存器,直至内存耗尽后当机。3Zfednc

实际动手进行修复可不简单。我花了一个多月的时间重新建置ISR,使ISR内部仅执行关键的指令集,并建立了一个可立即储存中间计算值的方式,以便使这些值也可用于ISR外部。3Zfednc

这些修改终于完成且经测试过了,而这款接口盒在那之后还用了好多年。我自己对于这一点成绩也一直感到相当自豪。3Zfednc

 (原文发表于ASPENCORE旗下EDN姐妹媒体EETimes,参考链接:The SED Problem,编译:Susan Hong)3Zfednc

 3Zfednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 苹果下一代智能终端?iPhone+iGlass,苹果手机塞入苹果眼 一直传言苹果在秘密研发颠覆人类消费终端的下一代产品,有人说是穿戴,有人说是无感设备。不过,按照苹果的研发与市场推进,一般有一个缓冲或者说过渡产品推出,这也是遵循科技与消费市场进步的规律。最近EDN有发现苹果申请了把iPhone塞进苹果眼镜设备中的专利,我们看看这是否是下一代智能终端,亦或下一代过渡终端。
  • Apple M1处理器为何不采用芯粒技术? 将M1处理器裸片称为SoC绝不为过,因为看不到任何芯粒集成的影子。从苹果提供的M1裸片图片会发现,将这类设计分解为芯粒没有任何吸引人之处,由此增加的互连和通信开销反而会造成更多的麻烦。
  • 安卓手机的漏洞都在于系统吗?No,高通芯片级Adreno GPU更 都说安卓手机不安全,漏洞太多,不是被监听就是被植入木马吸费转账之类的,而绝大部分人认为安卓手机的安全根源在于安卓系统。不过,真的如此吗?谷歌最近就发现了高通 Adreno GPU 的“高危”安全漏洞!这种硬件级别的漏洞恐怕更是硬伤!
  • 骁龙888首发手机,“准真机”——小米11曝光? 前段时间,EDN集中报道了高通第三代5G芯片《骁龙888最全面详解...》,以及《搭载骁龙888的手机有哪些?首发旗舰清单及跑分曝光!》,不过,坊间传言的真机一直是海市蜃楼,今日,我们就为您介绍骁龙888真的的“准真机”:小米11。
  • 三星Exynos 2100——高通骁龙888对手,同在Galaxy S21+ 高通刚刚高调发布骁龙888处理器,似乎是目前最强劲的5G手机芯片了,不过,其对手马上就要来了:三星猎户座Exynos 2100,而且同在Galaxy S21+上的跑分曝光,那么谁将更强呢?
  • 量子计算商用?IBM首席执行官表示,或在2023年开始! 量子计算是科学的前沿阵地之一,虽然有了一些科研和试验,但是一直未有实际的落地应用或者较大规模的商用。不过,最近IBM首席执行官Arvind Krishna称,其客户最早可以在2023年使用并获利。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了