11 月 7 日消息,微软资深工程师 Raymond Chen 本周(11 月 4 日)发布博客,揭秘微软首款硬件产品 Z-80 SoftCard 的幕后故事,这款扩展卡专为苹果 Apple II 电脑打造,可让用户运行 CP / M 操作系统。

Raymond 表示,Z-80 SoftCard 的设计目标是让 Apple II 用户满足跨平台需求,让他们能在苹果电脑上运行 Digital Research 的 CP / M 操作系统。



▲ 扩展卡全貌

不过令人意外的是,直到萨提亚・纳德拉上位后,微软才正式将自己定义为一家“软件与设备公司”,不过事实上,早在 20 世纪 80 年代,微软的首款硬件产品 Z-80 SoftCard 就获得了巨大的商业成功。

Raymond 透露,这款扩展卡的设计历程并非是往一块 PCB 板上焊一颗 CP / M 兼容芯片就大功告成,而是经历了许多挫折,这其中的关键点就是如何让 Z80 处理器(兼容英特尔 8080 指令集)与 Apple II 的 6502 处理器协同运作。



▲ Apple II

由于 6502 并不能简单地“关闭”或“让位”,它需要在后台负责 I/O、计时与其他基础任务,因此微软必须设计一套复杂的机制才能让两颗处理器协调运行,首先他们采用了模拟 DMA(直接内存访问)技术,让 6502 处理器暂时停运。

同时 Z80 处理器必须要有专用的检测刷新信号线,来确保 6502 不会“睡死”或与其他内存访问产生冲突。

并且,Z80 和 6502 处理器的内存映射方式有所不同,因此简单地把两颗处理器放在一起就会导致巨大问题,为此微软的工程师团队专门在扩展卡上设计了地址转换电路,可以转译 Z80 的内存请求,例如 Z80 请求 $0000 时,扩展卡会将其重映射至 $1000,还能确保 Apple II 本身的特殊保留地址只存在 Z80 内存映射的末尾,两者不会“打架”。



▲ 内存映射的原理

虽然这款扩展卡在当年的售价并不便宜,需要 350 美元(IT之家注:现汇率约合 2492 元人民币)才能拿下,结合通胀等因素,相当于现在的 1350 美元(现汇率约合 9612 元人民币),但这款产品在上市后还是引发热卖,导致他们“几乎被订单淹没”,这款硬件也顺势成为了微软 20 世纪 80 年代最赚钱的产品。