MCU的十年往事
编者按
一个月前,半导体行业观察曾经发过一个文章《MCU的一段往事》。在文章里,原作者讲述了MCU早期的一些产品和故事。到最近,作者已经把这个系列的文章更新完了,我们现在重新整理,以给大家提供一个完整的文章,以了解MCU从1970到1980年的辉煌十年。
而整系列文章,从TI的TMS1802NC 开始。
首先出现的计算器芯片
在德州仪器 (TI) MOS 部门工作的加里·布恩 (Gary Boone) 设计了第一款可以称为微控制器的芯片,因为他对自己的工作感到厌烦,而且他的家庭也遇到了麻烦。他于 1969 年加入 TI,当时计算器芯片正成为一项大生意。在20世纪60年代,电子计算器取代了占据市场数十年之久的Marchant和Frieden机电计算器。半导体使机电计算器中数百个复杂的金属和塑料部件得以取代,首先是数百个晶体管和二极管,然后是越来越少的集成电路。北美的罗克韦尔微电子,Mostek,通用仪器和德州仪器是多芯片计算器市场的早期参与者。
起初,需要几十个集成电路来取代数百个晶体管和二极管。随着集成电路中包含的元件越来越多,制造一个可用的计算器所需的集成电路也越来越少。到1968年,基于IC的计算器设计在很大程度上取代了基于晶体管的设计。终点是明显的。最终,半导体制造商将把计算器的电子内核简化为单个芯片。
日本计算器供应商夏普、佳能和Busicom与各种美国半导体供应商合作,为他们的计算器开发定制芯片。夏普与罗克韦尔合作,佳能与TI合作,Busicom与Mostek和英特尔合作开发不同型号的计算器。Busicom要求Mostek开发单芯片计算器,并与英特尔签订合同,为更复杂的可编程计算器开发定制芯片组。1970年底,Mostek首次实现了这一目标,推出了MK6010,这是一款取代了 22 块集成电路的定制芯片。Busicom将这种芯片集成到它的小型四功能台式计算器Busicom Junior中。与英特尔的合同最终促成了英特尔4004微处理器的开发。然而,这个故事是关于微控制器的,它走了一条相关但不同的进化道路。
TI公司的MOS部门深陷计算器芯片组的事务之中。包括佳能、Olivetti和Olympia 在内的计算器公司要求TI为他们的计算器开发4、5和6芯片组。执行这些定制芯片项目落在了包括Gary Boone在内的几个TI工程师的肩上。这份工作需要飞往世界各地,去日本、意大利和德国。布恩花了很多时间在路上,他的家人对他的缺席感到不满。Boone很快就厌倦了紧张的旅行,只是为了开发一个看起来和之前的很像的新芯片组。在那个年代,许多潜在客户想要计算器芯片,但每个客户想要的东西都有点不同。这就是定制芯片业务的本质。这是一个客户密集型的行业。
Boone的沮丧和家庭事务促使他找到了TI的MOS市场经理Daniel Baudouin。他们一起编制了一个客户需求矩阵,这些需求来自与不同计算器制造商的需求。然后,他们添加了一组功能块,可以满足这些需求。Boone和Baudouin也注意到目前TI MOS工艺技术可以完成什么,以及它可以做得最好的是什么。他们的思路很快转向了大量使用内存(RAM和ROM)的架构,因为这些结构效率极高,更容易在IC上布线,内存有望提高硅的利用率,达到40或50倍。
一旦Boone和Baudouin开始考虑使用内存,他们就开始考虑一个计算器芯片需要多少数据和程序存储空间。那时,TI团队开始与潜在客户讨论ROM可编程的单芯片计算器的前景。他们遭到了很多反对。习惯了为自己的计算器芯片提供资金的客户对只通过片上ROM中的某些位进行区分的计算器芯片的想法犹豫不决。TI内部也有反对意见,因为基于ROM的可编程部件与公司习惯制造的部件相反。
读到这里,您可能会发现所有关于计算器芯片的讨论都与标题不一致。本系列文章显然是关于微控制器的历史。我向你保证,我们没有偏离轨道。最早的微控制器是由Boone和TI的工程师Michael Cochran设计的,包括处理器、内存(RAM和ROM)和I/O都在一块硅上,是计算器芯片,它们是最早的微控制器。请看下图,摘自美国专利4074,351:
此图显示了TI第一台单片机计算器TMS1802NC的框图。它显示了微控制器的所有关键组件。它有一个CPU,由程序计数器(PC)、指令寄存器(IR)、指令解码器(Control Decoders)和一个4位ALU组成。它有一个RAM来存储数值数据和一个ROM来存储定义芯片操作的程序。最后,在底部,您可以看到专门的I/O电路,用于扫描矩阵键盘、驱动显示数字和驱动每个显示数字中的七个段。这个设计中的I/O可能是专门的,但是这个图清楚地描述了一个微控制器。
1971年9月17日,TI公司发布了TMS1802NC单片机计算器集成电路。两个月后,英特尔发布了4004微处理器。德州仪器给这款设备定价不到20美元。ROM包含320个11位指令字(3520位),而串行访问的182位RAM包含3个13位BCD(二进制编码的十进制)数字和13个二进制标志位。该芯片总共需要大约5000个晶体管。
(注:在研究这篇文章时,我发现不止一个网站把TI的TMS1802NC 4位计算器芯片和1974年发布的8位RCA CDP1802 COSMAC CMOS微处理器搞混了。TI和RCA芯片不是同一个零件,尽管零件号相似。)
TI从1971年9月17日发布的新闻稿进一步证实了TMS1802NC作为微控制器的地位:
“TI使用相同基础或主机设计的单级掩码编程技术,可以轻松实现任何数量的特殊操作特征。唯一的限制是程序ROM、RAM存储和控制、定时和输出解码器的大小。例如,通过重新编程输出解码器,TMS1802可以用于驱动十进制显示,如Nixie型管。”
最早使用TI TMS1802计算器芯片的计算器之一是Sinclair Executive。
TI在1972年9月20日发布了TMS0100单片机计算器系列,几乎正好是在TMS1802C发布一年后。该公司将TMS1802NC重新命名为TMS0100家族的第一个成员,TMS0102。最终,这个家族将有超过15个不同的成员,由TI的10微米PMOS工艺技术制成。一年后,Mostek发布了改进的、引脚兼容的TMS0102副本MK5020。就像本文开头列出的所有半导体制造商一样,TI和Mostek很快就会发布微控制器,部分是利用从这些早期计算器芯片的创造中获得的知识开发的。
与此同时,Boone已经跳出了这个计算器的框框。计算器芯片专利4,074,351描述了其他目标应用,包括出租车计价器、数字电压表、事件计数器、汽车里程表和测量秤。当然,微控制器已经在所有这些应用程序中被使用过,而且还远远不止这些。
德州仪器 TMS1000
与许多首创设备一样,德州仪器的TMS0100计算器芯片家族是一种狭义的微控制器,主要用于制作计算器。然而,TMS0100家族的第一个芯片最初被称为TM1802NC,后来改名为TMS0102,它包含了微控制器所需的一切:CPU、RAM、ROM和I/O。当然,这是一个专门的微控制器。它的I/O是特定于应用程序的,被设计为连接到一个矩阵键盘和一个七段显示器。然而,TMS1802NC是一个微控制器。
最初由德州仪器的Gary Boone和Daniel Baudouin构想,然后由Boone和Michael Cochran实现,德州仪器在1972年9月20日推出了TMS0100系列,这些芯片迅速占领了计算器市场。TI突然有了全新的世界要征服。该公司很快意识到,如果可以将同样的可编程硅设计得足够通用,它就可以为多个市场服务。TI将其从最初的可编程计算器芯片中获得的经验应用于生产第一批通用微控制器TMS1000系列,并于1974年发布。
TMS1000微控制器系列与TMS0100可编程计算器系列有一些相似之处,但也有很多不同点。这两种设备都有4位CPU和哈佛架构,哈佛架构为RAM和ROM提供了独立的地址空间。哈佛架构在早期微控制器设计中很常见,因为它们简化了微控制器的RAM、ROM、地址解码器和数据总线的设计。然而,在我看来,哈佛架构使程序员的生活变得复杂,他们必须跟踪两个不同的地址空间,并且必须经常设计将数据从ROM转移到RAM的方法。(幸运的是,将数据从RAM转移到ROM是没有意义的,数据不会完成这个过程。你不能成功地写入一个掩码ROM。)
与TMS0102的3250位ROM(组织为320个11位字)不同,第一个TMS1000微控制器有一个1千字节的ROM,组织为1024个8位字。因此,TMS0100和TMS1000系列分别从不兼容的11位和8位指令集开始。类似地,TMS0102的182位串行RAM包含三个以BCD(二进制编码十进制)格式的13位数字和13个二进制标志,而 TMS1000 微控制器具有组织为 64 个 4 位字的 256 位 RAM。
根据TMS1000文档,存储在RAM中的64个4位单词“被方便地分组为4个16位的文件,由一个2位寄存器寻址”。根据我的经验,在编写类似的微控制器架构时(本系列后面将讨论),将小的RAM地址空间进一步分割成16个字的块并没有什么方便之处,除非您正在编写16个条目的循环缓冲区。就像许多设计妥协一样,微控制器设计团队将整个CPU连同RAM、ROM和I/O电路一起塞到早期的半导体模具上,我敢打赌,这个特定的设计选择使TMS1000微控制器的硬件设计更简单、更小,以通常牺牲程序员的方便来换取硬件设计的便利。
与TMS0100计算器芯片系列的专用I/O设计不同,TMS1000微控制器具有通用I/O引脚,至少在名义上是这样。四个输入引脚(K1, K2, K4和K8)可以用一条指令作为一组读取。输出引脚更加复杂。最初的TMS1000微控制器有11个“R”输出(R0到R10)和8个“O”输出(O0到O7)。“R”输出分别设置和清除。“O”输出由掩模编程PLA控制,并由5位锁存器驱动。锁存器中的四个位可以通过一个指令来设置,该指令将数据直接从TMS1000的累加器移动到锁存器。第五个输出位来自ALU的状态锁存器。使用PLA将5位输出锁存扩展到8个输出引脚,让人想起TMS1000作为计算器芯片的后代的传统,它被设计用于驱动7段显示器。
在Adam Osborne 的众多成就中,他在1978年出版的《微型计算机导论》一书中记录了早期的微处理器和微控制器。在他对TMS1000的描述中,奥斯本似乎更关注微控制器的局限性:
“TMS1000系列微型计算机是单芯片设备的事实有一些次要的,不明显的影响。最重要的是,没有支持设备这种东西。1024或2048字节的ROM [TMS1200微控制器有2Kbytes的ROM]代表将出现的程序内存的确切数量;不能多也不能少。类似地,RAM的64或128个字节(一个字节是一个4位的单词)不能扩展。直接内存访问逻辑不存在——而且它的存在无论如何都没有什么意义;由于可用的RAM和ROM总量很小,因此根本没有机会在足够长的时间内传输数据块,以保证绕过CPU。
同样地,在TMS1000微型计算机中,中断的作用是微不足道的。考虑到可用的程序内存储量很小,而且程序包的成本很低,很难证明仅仅为了让微机执行多个任务而中断逻辑的复杂性是合理的。”
在我看来,Osborne 的话表明,许多人(可能包括Osborne )在1978年他出版那本书时,也就是TI首次宣布TMS1000系列四年后,并没有清楚地了解微控制器和微处理器之间的区别。然而,许多人确实理解其中的区别,因为据报道,到1979年,TI每年生产数千万个TMS1000部件,他们以2美元或3美元的价格大批量出售TMS1000。TMS1000的低单位成本是可能的,部分原因是TI将该设备封装在一个便宜的28引脚塑料DIP中。
TI通过在自己的一些消费品中使用TMS1000微控制器家族成员来吃自己的狗粮,包括传奇的TI Speak & Spell游戏和SR-16“Electronic Slide Rule”计算器。
发明家、游戏设计师、“家用电子游戏机之父”拉尔夫·贝尔意识到他可以用微控制器制作出价格合理的电子游戏,并将TMS1000集成到最成功的手持电子游戏之一—— Milton Bradley 的 Simon 中,该游戏于1978年推出。如今,每个人都在自己的手机上玩手持游戏,但那时,这些游戏需要专用的硬件。
帕克兄弟公司在1978年发布了基于TMS1000微控制器的手持电子游戏《Merlin 》,一年后,Milton Bradley公司使用TMS1000微控制器作为其Big Trak的可编程大脑,这是一种未来主义的6轮坦克式车辆,可以通过嵌入在玩具背后的薄膜键盘预先编程,沿着特定的路径前进。Big Trak可以执行输入键盘的16个命令序列,这似乎与1967年由Wally feurzeeig、Seymour Papert和Cynthia Solomon在马萨诸塞州剑桥的一家名为Bolt、Beranek和Newman (BBN)的研究公司开发的Logo编程语言的海龟图形密切相关。
1977年,Mattel公司推出了一款非常成功的电子足球游戏。这款游戏基于Rockwell计算器芯片,但世界各地的公司都克隆了这款游戏,香港一家名为Conic的游戏制造商似乎在其克隆产品中使用了TMS1000微控制器,而不是计算器芯片。开源游戏模拟器MAME (multi街机模拟器)仍然可以在模拟中运行《Conic’s Football》的TMS1000 ROM代码。
作者Stan Augarten在他的《艺术状态》一书中指出,TMS1000被用于计算器、玩具、游戏、电器、防盗报警器、复印机和自动点唱机。奥加滕在描述TMS1000的结尾写道:“和任何集成电路一样,TMS1000帮助使现代电子的力量为每个人所用。”
我怀疑还有无数没有记录的TMS1000家族应用程序存在。对于第二早期的微控制器家族来说,这是一个相当成功的故事和遗产,也证明了基本单芯片微控制器概念的真正普遍性。在1974年TI推出TMS1000之后,其他半导体厂商推出的新的微控制器以飞快的速度出现。
罗克韦尔微电子公司 PPS-4/1
现在我们已经进入了21世纪,大多数人很少想到罗克韦尔微电子与微处理器和微控制器的联系。母公司北美罗克韦尔(1973年更名为罗克韦尔国际公司)是一家主要的军事/航空航天承包商。罗克韦尔建造了阿波罗飞船,B1轰炸机和美国航天飞机。
在很长一段时间里,美国大部分的太空助推火箭和洲际弹道导弹都使用了罗克韦尔的Rocketdyne发动机。1972年,罗克韦尔推出了世界上第三个商业上成功的微处理器,4位的PPS-4。1976年,罗克韦尔发布了基于PPS-4架构的单芯片微控制器。它被称为PPS-4/1。
正如20世纪60年代许多大企业集团的潮流一样,罗克韦尔于1967年在其自主事业部开始了自己的半导体制造业务。Autometics开发了各种军事/航空航天航空电子系统,包括用于美国潜艇和洲际弹道导弹的惯性导航和制导系统,这创造了对先进半导体的需求。北美罗克韦尔微电子公司(NRMEC)为其军事和航空航天项目开发了早期的MOS/LSI工艺技术。
当日本的夏普向一家半导体供应商来制造自己设计的计算器芯片组时,NRMEC的MOS/LSI能力符合夏普的需求。合作的结果是一个四芯片组,夏普将其纳入其QT-8D计算器。夏普在1968年8月发布了这款计算器。事实上,有人可能会说,夏普QT-8D计算器中的罗克韦尔芯片组开启了MOS/LSI时代。1970年,罗克韦尔开始出版MOS/LSI芯片目录。
正如德州仪器公司(Texas Instruments)在TMS1000微控制器上所发现的,从电子计算器架构到4位微处理器,或者在德州仪器公司(TI)的情况下,到微控制器,只是一个短暂的跳跃。罗克韦尔在1972年8月宣布了4位PPS-4微处理器系列。它是世界上第三个获得商业成功的微处理器,它的推出紧随英特尔发布的4位4004和8位8008微处理器。罗克韦尔的“PPS”名称意为“并行处理系统”。
有两点使罗克韦尔的PPS-4微处理器区别于其竞争对手。第一个是罗克韦尔独特的QUIP (Quad Inline Package)设备封装。罗克韦尔的QUIP芯片很容易通过交错的引线来识别。因为它们的样子,这些芯片通常被称为“蜘蛛”。在最小电路板走线和空间大约为 10 密耳左右的时代,QUIP 引线配置使得为这些设备设计印刷电路板变得更加容易。
第二个显著特点是罗克韦尔为PPS-4微处理器开发的配套芯片。到1975年,芯片组家族包括CPU、罗克韦尔独特的四相时钟所需的时钟生成器/驱动程序、256×4-bit RAM、1和2千字节ROM、RAM/ROM组合芯片、键盘和显示控制器、打印机控制器、通用I/O芯片和1200 bps模拟调制解调器。(1200 bps模拟调制解调器开启了一长串调制解调器芯片,导致NRMEC成为Conexant Systems,最终被Synaptics收购。)
罗克韦尔PPS-4微处理器家族中大量的芯片使得该处理器被广泛应用于终端产品,包括收银机、传真机、家用电器、弹球机、玩具和计算器。然而,多芯片、4位微处理器家族的市场是短暂的。半导体技术发展迅速,器件密度也以惊人的速度增加。1975年10月,罗克韦尔将时钟产生器集成到微处理器中,并将RAM、ROM和I/O外围设备合并为一个名为PPS-4/2的2芯片集,但由于半导体工艺技术的进一步进步,2芯片集也很短时期。1976年初,罗克韦尔发布了PPS-4/1,这是一种基于原始PPS-4微处理器架构的真正的单片微控制器。
除了关于基于PPS4的计算器的信息和一个相当不寻常的应用程序:Gottlieb弹球机之外,因特网上很少有关于罗克韦尔PPS-4应用程序的历史。Gottlieb与Rockwell签订合同,开发基于PPS-4/2微处理器的System 1弹球控制器板。Gottlieb在1977年至1980年发行的弹球机中使用了System 1板。第一台使用了System 1板的弹球机被称为“埃及艳后”。其他基于微处理器的弹球游戏也紧随其后,如《Sinbad》,《Dragon》,《Charlie’s Angels》,《Incredible Hulk》,《Buck Rogers》和《Totem》。这个系列共有16场弹球游戏。
这是一种很容易被时间遗忘的历史,但是PPS-4作为弹球控制器的历史却没有被遗忘,原因有二。首先,收藏家根据系System 1板奖励Gottlieb弹球机。其次,这些板上的金属门、MOS/LSI PPS-4 rom /外围芯片正在失效,现在它们已经接近半个世纪的历史了。通常情况下,弹球收集器在这些部件失效后会被困在报废的机器上,因为这些部件已经几十年没有生产了,而半导体供应商NRMEC早就不在了。
法国的AA55咨询公司针对这个问题开发了一种解决方案。该公司开发了基于FPGA的Rockwell PPS-4外围芯片。AA55咨询公司的FPGA代码的目标似乎是由AMD/Xilinx制作的,因为项目文件是为Xilinx的ISE开发软件格式化的。AA55咨询公司还没有对PPS-4/2处理器进行逆向工程,但计划在未来这样做。也许明年吧。
由于罗克韦尔组件现在几乎是纯的unobtanium,位于纽约Honeoye Falls的NI-Wumpf公司开发了一种功能上替代了最初的Gottlieb System 1板,并且不使用任何罗克韦尔半导体的板。最初的NI-Wumpf板似乎基于Zilog Z80微处理器。最新版本使用了STMicroelectronics STM32F103微控制器,其中包含了一个72 MHz Arm Cortex-M3处理器。作为比较,PPS-4/2微处理器的工作频率为199kHZ。一家名为Flippp的法国公司!已经采取了类似的方法,开发了被称为PI-1和PI-1×4的系统1板的板级替代品,由Pascal Janin设计和编程。该板似乎也基于更现代的微控制器。
阅读一些基于系统1板的Gottlieb弹球机用户的评论是很有趣的。大多数人认为罗克韦尔只是一个严格意义上的国防承包商。一个叫做pinwebsite的网站专门为Gottlieb开了一个论坛,其中有一个主题是“为什么Gottlieb的系统1如此糟糕?”以下是来自这个帖子的一些引用:
“当时,罗克韦尔似乎是个不错的选择。毕竟,他们为美国宇航局和国防部设计了计算机设备,还能出什么问题呢?显然,有很多。罗克韦尔公司决定在接地方面做出有问题的决定,使用定制设计的组件和其他奇怪的东西,这真的把戈特利布搞砸了。”
“为什么罗克韦尔要花费额外的时间和精力来设计定制蜘蛛芯片,因为它们仍然不如威廉和Bally使用的现成68xx芯片?”采用定制硬件似乎很难为他们节省成本。”
Gottlieb并不知情,在外包过程中做出了一些错误的选择。至于罗克韦尔公司,你可能会想,更大的奇迹是什么:是弹球机成功了,还是他们的NASA产品成功了?”
我想罗克韦尔在蜘蛛方面使用的是对他们来说“现成的”部件。部分问题可能在于他们从未为弹球游戏所处的环境设计过硬件。期望开关在打开时出错,而不是砰地一声关闭? 对于国防工业以外的任何人来说,硬件不是“现成的”吗?
“我不想太政治化,这只是我的看法,如果我想雇用一家公司为我设计一些电子产品,即使罗克韦尔有一个好名字,我也不想雇用一家习惯于做政府项目的公司。在大多数情况下,它们都是臃肿的、昂贵的、过度设计的。我不确定70年代末的情况是否如此,但仅仅因为太空设备运行良好,并不意味着它没有定价过高和设计过度。”
“罗克韦尔将该系统设计为4位系统——这在它发布之前就已经过时了。”
毫无疑问,今天以收集弹球机为爱好的人不知道罗克韦尔在20世纪70年代是一家商业芯片供应商,不知道PPS-4有悠久的历史,不知道为什么要开发4位微处理器和微控制器,不知道罗克韦尔为什么要开发“蜘蛛”QUIP,也不知道半个世纪以来维护不善的系统往往会失败。然而,有些藏家消息灵通。例如:
“在电子方面- System 1使用的是70年代中期的技术。所有的电子元件都是现成的元件,没有定制元件。事实上,罗克韦尔公司使用的是他们自己的部件——谁能责怪他们呢?我认为它只有两个缺点-糟糕的接地技术和边缘连接器。
“至于他们的CPU不受欢迎——它们在相当长一段时间内在销售点终端非常受欢迎。但当MOS科技推出价格实惠的6502系列处理器时,他们的4位处理器就被淘汰了。”
罗克韦尔微电子和PPS-4产品线也已经从积极参与电子工业的人们的集体记忆中消失了,而且在网上很难找到PPS-4的历史。你几乎需要求助于旧书。幸运的是,我书房的书架上有一些这样的书。
例如,1981年版的Osborne 4 & 8位微处理器手册列出了罗克韦尔PPS-4/1微控制器家族的10个成员。家族成员有640到2048字节的ROM和48到128个4位的RAM。除了一个家族成员之外,所有成员都有三个集成的串行I/O端口,实际上无非是串行的4位移位寄存器。MM76C是一个家族成员,具有高速上行/下行定时器/计数器子系统,可以作为一个16位计数器或两个8位计数器操作。该计数器还可以处理光学编码器使用的正交编码输入。计时器/计数器子系统为罗克韦尔PPS-4/1微控制器开辟了额外的工业应用领域,包括电机控制、频率计数、模数转换和频率合成。
如果你不熟悉NRMEC、罗克韦尔微电子或罗克韦尔半导体,那可能是因为该公司在1999年被分拆为Conexant Systems,这是全球范围内将内部持有的半导体公司的价值推向股市的努力的一部分。Conexant在2002年将其晶圆厂(原罗克韦尔的晶圆厂)拆分为Jazz Semiconductor,从此走向无晶圆厂化。Tower Semiconductor于2008年收购了Jazz Semiconductor,并成为了TowerJazz。该公司在2020年恢复了Tower Semiconductor的名称,现在英特尔正在收购该公司。与此同时,罗克韦尔早期的MOS/LSI工艺已经一去不复返,而且大多已被遗忘。
Intel 8048 和 8748
英特尔于 1971 年底宣布了第一个商业上成功的微处理器 4004。到 1974 年英特尔推出了四种微处理器:4 位“低端”4004 和升级版 4040,以及 8 位 8008 和 8080。英特尔的 4 -位 4004 和 4040 微处理器主要用于嵌入式控制应用,在这些应用中,I/O 功能和性能以及较低的零件成本超过了 8 位设备的卓越处理性能。然而,英特尔不再独占微处理器市场。其他几家半导体供应商在 1974 年推出了竞争性微处理器,特别是 4 位罗克韦尔 PPS4、8 位摩托罗拉 6800、多芯片(multichip) Fairchild F8 和美国国家半导体公司的 16 位多芯片(multichip) IMP-16。东芝设计、制造并交付了 12 位 TLCS-12 微处理器,专门用作福特的发动机控制器。与此同时,还有很多MCU正在赶来的路上。
更糟糕的是,德州仪器 (TI) 于 1974 年推出的 4 位 TMS1000 微控制器系列将 4 位 CPU、RAM、ROM 和 I/O 电路放在一个芯片上,从而简化了系统设计并显著降低了基于处理器的控制成本。TI 的 TMS1000 系列的推出当然引起了一些潜在客户(以及一些半导体制造商)的注意。处于围攻之下的英特尔开始将嵌入式系统设计输给嵌入式市场中的微处理器和微控制器竞争对手。
这必须停止。英特尔需要做出回应,公司也知道这一点。
当 Henry Blume Jr. 于 1974 年 10 月来到英特尔时,公司内部已经达成协议,将开发微控制器。英特尔已经在制造微处理器、RAM 芯片、ROM 和紫外线可擦除 EPROM,并且拥有在内部制造这些部件的工艺技术。但他们尚未做出的主要决定是微控制器是否具有 4 位 CPU(如 TMS1000)或 8 位 CPU。根据计算机历史博物馆 (CHM) 于 2008 年与许多负责开发 8048 人员的讨论,英特尔企业营销高级副总裁 Ed Gelbach 做出了决定——英特尔的微控制器将有一个 8 位 CPU,因为 4 位 CPU 没有足够的吸引力。
尽管 8048 是传统上用于英特尔第一款微控制器的通用名称——实际系列名称是 MCS-48——上文提到的口述历史也清楚地表明 8748 EPROM 版本首先出现。这是因为 8748 可以立即用于软件开发和早期原型制作,而客户需要一两年的时间来开发他们的软件,才能订购基于 ROM 的 8048 设备。8748 也将是一个更难制造的设备,因为英特尔的 EPROM 工艺技术与该公司的其他工艺技术有很大不同,因此首先准备好该设备,然后在来年设计基于 ROM 的 8048 是有意义的. 最后,英特尔可以而且愿意为可重复使用的 8748 收取更多费用,这意味着该公司可以更快地获得更多收入。
David Stamm 于 1974 年 1 月加入英特尔,最初致力于修复当时正在生产的 4004 和 4040 微处理器的错误。然后他设计了 Intel 4308,这是一种支持 Intel 4040 的芯片,它结合了 1 KB ROM 和一些 I/O 端口。4308 结合了四个 Intel 4001 芯片的功能,这些芯片结合了一个 256 位 ROM 和一个 I/O 端口,因此 4308 包含大约一半的微控制器,缺少 CPU 和 RAM。在设计完 4308 后,Stamm 被分配到 8048 项目。他在 8048 的口述历史中说,他当时是单身,因此他“在 8048 的生活和呼吸中度过了两年多的时间,日日夜夜”。
Stamm 的首要职责是开发微控制器的指令集。这将是全新的,适合 8 位微控制器,而不是英特尔已经制造的微处理器。在口述历史中,Stamm回忆说:
“我们三个人全职参与这个项目:我自己,负责指令集和逻辑设计以及整体芯片进度;David Buddy,负责与集成 EPROM 技术、所有 EPROM 编程逻辑和 EPROM 组件的传感逻辑以及大部分电路设计相关的复杂任务;然后是负责芯片所有布局的 Dwayne Hook……
“第一阶段实际上是指令集设计。所以我在这里,我大学毕业一年,获得了学士学位,我在想我有什么业务可以为这些组件开发下一代指令集?真的,没有人仔细地看着我的肩膀,但我说,好吧,好吧,我会去做的。幸运的是,在大学里我用一种叫做 COMPASS 的语言学习了汇编语言编程,它是 CDC 的一部分,现在已经不复存在了。”
“但我在那里学到了很多关于汇编语言编程的知识,然后我研究了 4040,我查看了所有其他指令集,试图找出哪种指令集可能有意义。挑战在于,你必须根据芯片成本的复杂性来考虑指令集。”
“因此,例如,减法和比较将是非常有价值的指令,但它们会显著增加额外的芯片面积。所以,我决定我们真的负担不起这些,特别是因为我们要进入 8 位设计。我一直是 8 位的大力支持者。反对意见之一是成本和芯片尺寸。因此,在这些设计步骤中,我尽我所能放弃我认为会增加额外芯片尺寸的特性和功能。现在回想起来,我想我可能有点过火了——尽管当时很难得出这样的结论。”
在口述历史的某个时刻,Blume插话道:
“我还想指出 Dave 的两个著名指令——或者说他最喜欢的指令是 SEX 和 SIN,分别代表设置外部模式和设置内部模式。然后当系统中的人接手时,他们删除了 SEX 和 SIN ……他们重新命名了它们。”
8048 的设计限制是为了确保可以使用可用的工艺技术制造芯片,但并不局限于指令集。内存空间限制是另一个重要限制。最初的 8048 有一个 4 KB 的程序存储器地址空间限制,但它实际上被分成了两个 2 KB 的存储区。8048 的程序计数器表面上有 12 位,但最高有效位来自一个单独的寄存器,可用于库切换(bank switching)。最初,8048 包含一个 1 KB 的程序存储器,所以这个决定一开始并没有紧缩(pinch )。最终,它会的。Stamm 解释说:“……存在很多很多限制,主要是为了减小芯片尺寸。”
英特尔在早期没有模拟软件,因此设计团队改为构建面包板。Stamm 回忆说:
“因此,我们构建了这个大型面包板,它本身就是一个完整的设计项目,使用了我们希望通过开发 8048 消除的相同类型的组合逻辑……我们使用的是 TTL 和 DTL 设备,我记得面包板很大。它大概有五英尺高,两三英尺宽,只是背面完全被电线覆盖了。”
这就是当时芯片设计的最新水平。
在将新微控制器投入生产之前,设计团队必须会见英特尔高管——Andy Grove、Gordon Moore 和 Lex Vadasz——并说服他们 8748 已准备好进入市场。准备好演示后,Stamm 决定编写一个 21 点程序。Stamm 喜欢赌博,经常光顾太浩湖赌场。编程的 8748 将驱动一个哑终端(dumb terminal),大概是通过一个 RS-232 电压转换器。Stamm 回忆说,他在编写二十一点程序时发现了自己的微控制器指令集的局限性。他还填满了 8748 的程序内存,没有足够的空间在二十一点游戏中添加双倍下注功能。为 8048 编写的第一个应用程序立即暴露了它的主要局限性。
英特尔于 1976 年底宣布推出 MCS-48 微控制器系列,其中包括 8048 和 8748,目标是在 1977 年第一季度出货 1000 个收入单位,即所有 8748 设备。Blume 回忆说实际出货的收入单位数量是770,大家都认为是成功的,毫无疑问是大量预售的结果。英特尔 8748 大受欢迎。英特尔产品经理 Howard Raphael 回忆起早期的客户时说,他们包括 Gilbarco(汽油泵)、泰克和克莱斯勒。
Magnavox 的 Odyssey 2视频游戏控制台基于 8048。8048 广泛用于驱动各种模拟音乐合成器键盘,包括 Korg Trident 系列、Korg Poly-61、Roland Jupiter-4 和 Roland ProMars。
Sinclair QL 个人计算机使用 Intel 8049(带有 2 KB ROM 的 8048)来管理其键盘、操纵杆端口、RS-232 输入和音频输出。任天堂在其最初的大金刚街机游戏中使用无 ROM 8035 微控制器(很可能是带有坏 EPROM 的 8748)来生成游戏音乐。我的朋友兼同事 Wally Wahlen 在他 1979 年推出的 Hewlett-Packard 9876 热敏页打印机的设计中采用了英特尔 8048 作为控制器。
最终,IBM PC 将使用 Intel 8048 作为键盘控制器。然而,IBM PC 并不是第一台以这种方式使用 8048 的计算机。这个里程碑属于 Tandy TRS-80 Model II,它使用称为 8021 的成本降低的 28 针 8048 版本来管理其可拆卸键盘和扫描按键。
英特尔 8048 系列为英特尔带来了巨大的成功,但其设计局限性几乎立即浮出水面。到 1977 年,程序地址空间的限制开始明显地限制客户,到当年第四季度,即推出仅一年后,英特尔开始定义 8048 的后继产品,即 8051。它将成为一个更大的成功。
摩托罗拉 6801
摩托罗拉的半导体组件集团——摩托罗拉半导体——在微处理器方面迟到了的原因不止一个。该公司从未开发出成功的 PMOS 工艺技术,因此它将定制的 LSI 芯片设计(例如为客户提供的计算器芯片)发送给 Mostek 和 AMS(Advanced Memory Systems)等其他半导体制造商制造。尽管是双极 IC 制造领域的领导者,拥有强大的 RTL、DTL、TTL 和 ECL 逻辑芯片系列,但该公司缺乏 PMOS LSI 工艺技术,因此摩托罗拉无法解决微处理器等大型芯片的设计和制造。但他们最后还是开发出8位微处理器摩托罗拉 6800,这个经过深思熟虑的架构作为微处理器取得了巨大成功,然后作为多个微控制器系列的基础架构又取得了数十年的成功。
C. Lester (Les) Hogan 于 1968 年离开摩托罗拉半导体公司,成为仙童半导体公司的总裁。摩托罗拉半导体公司的 7 名高管(除一名高管外的其他所有高管)都辞职跟随 Hogan,Hogan 很快在 Fairchild 为他们找到了新职位。最初,Hogan 对管理 Fairchild 不感兴趣,所以当他第一次得到这个职位时就拒绝了。摩托罗拉的半导体业务已经超过仙童半导体。此外,Fairchild 还在向硅谷的其他半导体公司和初创公司输送人才。这是一个丑陋的情况,Hogan知道这一点。因此,仙童派其创始人罗伯特·诺伊斯 (Robert Noyce) 前往亚利桑那州凤凰城招募霍根 (Hogan)。霍根回忆说,他是一位出色的推销员。
Hogan接受了邀请并为自己商定了一个庞大的(当时)补偿方案。他和他的七位高管离开了摩托罗拉,前往硅谷试图为仙童止血。具有讽刺意味的是,诺伊斯在Hogan加入后不久就离开了仙童半导体,与戈登摩尔一起创立了英特尔。据报道,诺伊斯感到不安,因为他没有获得他在 1957 年与他人共同创立的公司 Fairchild Semiconductor 的最高职位,并且在 Hogan 接受新职位之前,他已经让 Hogan 知道他要离开了。Hogan 和他的团队成功地扶正了 Fairchild Semiconductor 这艘好船,但几乎所有高管的离职让摩托罗拉的半导体集团有些随波逐流,其战略计划陷入混乱。
1968 年的这次管理层变动无疑阻碍了摩托罗拉半导体的关键开发项目,例如有效 PMOS 工艺技术的开发。缺少这样一个过制程意味着除了销售人员和市场部门带来的少数定制 LSI 项目外,他们账面上不可能有雄心勃勃的 LSI 项目。
三年后,即 1971 年,Tom Bennett 加入摩托罗拉半导体公司,帮助该公司进入计算器芯片业务——当时最火的LSI芯片生意。正是这项业务促使德州仪器 (TI) 开发了 TMS1802NC 可编程计算器芯片,这是第一款可以称为单芯片微控制器的芯片。他在计算机设计方面有相当的背景,并且在 1969 年看到了英特尔 4004 微处理器的早期设计理念。当 Bennett 加入摩托罗拉时,该公司已经开发出一种斗志旺盛、自下而上的项目开发方法,这种方法足以允许NMOS LSI 工艺技术和摩托罗拉第一款微处理器 6800 的开发。
Jeff LaVell 于 1966 年加入摩托罗拉,此前他曾在 Collins Radio 从事公司 C8500 计算机方面的工作,在那里他了解了计算机体系结构的发展。Collins 的 C8500 原型采用了摩托罗拉的 ECL 逻辑芯片,量产版使用了 Sylvania 的 SUHL TTL 芯片,摩托罗拉是二供。因此,当LaVell 和他的妻子决定搬到菲尼克斯时,他对摩托罗拉非常熟悉。他作为应用工程师加入了摩托罗拉公司的计算机行业营销组织。
LaVell 的部分工作涉及与 CDC(Control Data Corporation)、DEC(Digital Equipment Corporation)和 Cray 等主要计算机公司合作,并了解像摩托罗拉这样的半导体公司可以在哪些方面提供帮助。一个巨大的机会出现了:计算机外围设备。该设备需要高度集成的功能,以最大限度地减少成本、芯片数量、设计时间和功耗。这个市场非常适合具有完整支持芯片系列的微处理器。
Bill Lattin 于 1969 年在加州大学伯克利分校获得硕士学位,在那里他旁听了英特尔的 Andy Grove 教授的半导体物理课程。他已经计划搬到菲尼克斯,在亚利桑那州立大学完成他的博士学位,并在摩托罗拉半导体公司任职,并在经过其他几个部门轮换后最终进入公司的 MOS 工艺开发小组。他成为集团的设计经理,负责公司的 CAD 工具和新 MOS 芯片设计的开发。他还承担了摩托罗拉在现有 MOS 工艺技术和新 MOS 工艺开发方面的问题。
Bennett、LaVell 和 Lattin 一起定义了一个微处理器和一系列支持设备,这些设备将使用尚未开发的 NMOS 工艺技术制造。他们定义的大约 15 个芯片包括:
MC6800微处理器
MC6810 128 字节 (1-Kbit) RAM
MC6830 2-KB ROM
MC6820 PIA(并行接口适配器)
MC6850 ACIA(异步通信接口适配器)
MC6852 SSDA(同步串行数据适配器)
MC6860 600-bps 数字调制解调器
摩托罗拉团队拜访了一长串公司,包括几个 HP 部门、两个 TRW 部门、NCR(National Cash Register)和 CDC,以推销新的摩托罗拉微处理器芯片组的想法。他们开始受到关注。CDC 可能会订购 200,000 个零件,从而使该项目成为现实。逻辑设计始于 1972 年。前五种芯片(微处理器、RAM、ROM、PIA 和 ACIA)的布局一直持续到 1973 年。第一批大部分工作正常但有一些错误的部件于 1974 年 2 月到达。客户得到了芯片到 1974 年 6 月在他们的系统中工作。
在计算机历史博物馆的摩托罗拉 6800 口述历史面板记录中,Bennett 的早期客户访问之一真正引起了我的注意:
“6 月,我去了 Loveland 的 HP,我想是在周五下午看到了一个系统。他们把那个东西缩小到什么程度真是太神奇了——因为他们[展示]了他们之前和之后的事情。那天晚上他们正准备去那里的一个公园,因为那里停着一辆 Coors 卡车,上面满载着他们的啤酒。然后我们坐上飞机回来,他们继续。但他们进展得那么快。”
整整一年后,我加入了 HP 部门的实验室,即 Loveland 计算器产品部门。Bennett 在口述历史中描述的原型系统显然是 CJ 项目的原型,后来成为 1975 年推出的 HP 9815A 可编程桌面计算器和仪器控制器。
MC6800 微处理器芯片组迅速获得成功。它不是微控制器,而是多芯片组合在一起提供了微控制器的功能。所需要做的就是将芯片组中的五个初始设备集成到一块硅片上。摩托罗拉于 1977 年宣布推出微控制器 MC6801。应主要客户通用汽车 (GM) 的要求,MC6801 具有略微升级的 6800 CPU,其中包括一条乘法指令。GM 最初将 MC6801 微控制器用于 1978 年凯迪拉克 Seville 的 TripMaster 数字行程表。这是一个非常昂贵的——920 美元的选择。
TripMaster 使摩托罗拉得以进入通用汽车的行列,通用汽车开发了一种基于微控制器的化油器闭环控制系统,以帮助其汽车满足政府关于油耗和尾气排放的新标准。到 1980 年下半年,通用汽车每天在其汽车中制造 25,000 个摩托罗拉微控制器,这帮助摩托罗拉半导体公司度过了 1980/1981 年的经济衰退。
摩托罗拉 6801 微控制器催生了一系列架构相似的微控制器系列,包括 MC6805、MC6805 的 CMOS 版本 MC146805、MC68HC05、MC68HC08、MC68HC11 和 MC68HC12。随着工艺技术的改进,摩托罗拉遵循摩尔定律推出了具有更多 RAM、更多 ROM、更多片上外围设备和更多 I/O 功能的微控制器。这些微控制器被用于摩托罗拉半导体的母公司摩托罗拉制造的寻呼机和移动电话中。摩托罗拉的微控制器出货量很大。最终,摩托罗拉将其半导体部门分拆为飞思卡尔,并于 2015 年与恩智浦合并。恩智浦网站仍然列出了几个源自原始 MC6800 微处理器架构的微控制器。
MC6800 微处理器还有一个值得一提的微控制器遗产。摩托罗拉需要第二个来源来提高某些客户对零件的信任度,他们选择了 AMI(美American Microsystem Inc)作为他们最初的第二个来源。在日本,日立也成为 MC6800 的第二个来源,帮助该公司进入微处理器业务。最终,该公司开发了摩托罗拉 MC6801 微控制器的低功耗 CMOS 版本,称为 HD6301,催生了许多新的微控制器系列,现在以 Renesas 品牌销售。
Zilog Z8
当Federico Faggin于 1970 年来到英特尔时,他立即发现自己陷入了一场混乱之中。他离开 Fairchild Semiconductor 并接受了 Intel 的职位,之后被全面介绍了 Busicom 的定制芯片组项目,该项目最终成为第一个商业上成功的微处理器 4004。Faggin 在 Fairchild 开发了silicon-gate MOS工艺技术,知道它远远优于当时每个人都在使用的metal-gate技术,并且通过观察已经离开 Fairchild 跟随 Bob Noyce 和戈登摩尔到他们新的半导体初创公司英特尔。Faggin 也想加入,因为 Fairchild 忽略了他的新工艺技术,所以他打电话给他的老 Fairchild 老板 Les Vadasz(当时已经去了英特尔),并要求一个职位,Vadasz很快答应了。
1970 年 4 月 3 日 ,在Faggin 加入英特尔的那天,Stan Mazor 将 Busicom 项目的所有文档交给了他。Ted Hoff 和 Mazor 已经为 4004 微处理器开发了高级架构和指令集,只剩下逻辑设计、电路设计和silicon-gate工艺开发需要完成。换句话说,大部分项目仍未完成。此外,Mazor 通知 Faggin,在客户方监督该项目的 Busicom 工程师 Masatoshi Shima 将于第二天从日本抵达,以获取进度报告。
第二天,当 Shima 到达时,他急于检查进度,要求立即带他去英特尔看文档。他想看看芯片逻辑设计的进展。但在获悉没有任何进展之后,Shima变得非常生气。Faggin 让 Shima 平静下来,然后 Shima 给东京的 Busicom 打了电话。整个项目都处于危险之中,因为在过去的几个月里该项目没有任何进展。
在这种情况下,Faggin 接手了英特尔 4004、4040、8008 和 8080 微处理器的开发。到 1974 年,他很可能成为世界上微处理器开发实践方面最重要的专家,从体系结构和指令集一直到制程技术,他也准备离开英特尔。Bob Noyce 和 Gordon Moore 将越来越多的公司日常控制权交给了 Andy Grove,而他的对抗性管理风格让 Faggin 感到沮丧。此外,英特尔当时正受惠于巨大的 DRAM 浪潮,Andy Grove当时对微处理器也不是特别感兴趣,他认为这会分散注意力。
然后, Faggin 发现英特尔已经为 Faggin 的silicon-gate工艺申请了buried contact专利,这是 Faggin 发明的,但 Fairchild 没有申请专利。更糟糕的是,英特尔在 Faggin 不知情的情况下完成了这项工作,并将专利置于 Faggin 老板 Vadasz 的名下。这一行为的发现似乎是压垮 Faggin 的最后一根稻草,因为他一直觉得英特尔的管理层没有赏识他,并认为他对公司微处理器项目做出的巨大贡献得到的报酬严重不足。
到 1974 年夏末,Faggin决定离开英特尔,创办自己的公司。他邀请了在英特尔向他汇报的经理之一Ralph Ungerman出去喝一杯。Ungerman 于 1974 年初从 Faggin 手中接管了英特尔的微处理器业务。Faggin 问:“Ralph,你和我开一家公司——一家微处理器公司怎么样?” Ungerman 回答说:“好的!”,这就是 Zilog 的开始。
Faggin 在英特尔的最后一天是 1974 年 10 月 31 日——万圣节。他想与英特尔一刀两断,所以他没有制定商业计划,也没有安排资金。他刚刚萌生了创办一家微处理器公司的想法,而他想要开发的第一个产品就是微控制器。他称之为 2001。Ungerman 在英特尔工作时兼职创办了一家咨询公司——Ungerman Associates。当他们成为合伙人时,Faggin 买下了那家公司的一半。Ungerman 的咨询收入最初资助了新公司,这家公司也最后改命名为 Zilog。
Faggin 在 11 月和 12 月期间为 2001 微控制器开发了架构和指令集。在那段时间,当时领先的行业报纸《Electronic News》刊登了一篇关于 Faggin 的新微处理器企业的文章。这篇文章引起了Exxon Enterprises的一位合伙人的注意,该公司是该石油公司的投资业务。法金接到Exxon的电话,要求几天后见面。Faggin 同意了,并让他的妻子写了一份简短的商业计划书,然后就见面了。Faggin 介绍了他对 2001 微控制器的计划和初步想法。这位Exxon的企业合伙人表示,他有足够的兴趣继续交谈。
然后,在 12 月,Faggin 意识到微控制器业务还不够大,无法作为他新的微处理器公司的基础。1974 年 12 月的一个星期六,他突然想到了合适的产品。“Super-80” 他惊呼。他的愿景是基于 Intel 8080 架构的 Super-80 微处理器,但有许多改进,例如两倍的寄存器、更多的指令、更多的寻址模式、更多的位级指令和更好的中断结构, 以及从一开始就设计为一个系列的外围芯片。此外,Super-80 将使用仅需要 5 伏电源的 NMOS 工艺制造,因此系统设计人员使用它会容易得多。与 2001 微控制器相比,Super-80 微处理器将拥有一个直接且更大的目标市场。
Faggin打电话给Exxon的投资合伙人,告知他战略方向的改变。Exxon采纳了这个想法,到次年 4 月,Faggin从Exxon获得了口头承诺的50 万美元投资 。2001 年的微控制器想法被搁置,Super-80 的工作开始了。Zilog 于 1976 年 7 月发布的 Super-80 就是后来极其成功的 Z80 微处理器。
甚至在 Zilog 宣布推出 Z80 微处理器之前,在公司拥有可用部件之后,Faggin 就开始考虑公司的下一代微处理器。他想同时增加和减少复杂性。为了扩大规模,他想要一个 16 位处理器,后来被称为 Z8000。1976 年初,Faggin 聘请了在 Amdahl 开发 IBM 兼容大型机架构的计算机架构师 Bernard Peuto 博士担任 Z8000 微处理器的架构师。为了缩小规模,Faggin 将 2001 年微控制器的计划从搁置了一年多的货架上取下来,将其除尘,并将其重新命名为 Z8。Faggin 和包括 Peuto 在内的 Zilog 工程师委员会改进了 2001 微控制器的原始架构。
在英特尔,Faggin 一直坚持英特尔 8008 和 8080 微处理器之间的机器代码兼容性,因为他担心为希望将代码迁移到更新的微处理器的现有客户提供升级路径。他不太关心像 Z8 这样的微控制器的指令集兼容性。他认为兼容性对微控制器来说并不重要,因为客户通常没有要保留的遗留软件(至少那时候不是。但数十年后的今天,情况大不相同)。Faggin 为 Z8 设想了一个指令集,可以直接操作微控制器 I/O 端口中的位,而无需这些位进行通过微控制器的累加器或寄存器往返。
尽管许多在线消息来源称 Zilog 于 1979 年发布了 Z8 微控制器,但该公司在 1978 年 8 月 31 日的电子杂志上发表了两篇关于 Z8 的深入文章。与许多其他早期微控制器一样,Z8 具有哈佛架构,具有独立的 16 位程序和数据存储空间。它还有一个 144 字节的大寄存器文件,可以像对待累加器一样对待任何寄存器。它的指令集和寄存器集与 Z80 更传统的冯诺依曼处理器架构中实现的指令集和寄存器集不同。
作为一家公司,Zilog 经历了很多起起落落,但它仍在营业,并且仍在销售基于 Z8 架构的微控制器,现在称为“Z8 Encore!” Z8 微控制器可用于许多低成本外设应用,例如键盘、鼠标和红外遥控器。现在,某些版本的 Z8 微控制器在大批量生产时单价远低于 1 美元。
Faggin 和 Ungerman 早已离开 Zilog。两人都成为了企业家。1980 年离开 Zilog 后,Faggin 创办或经营了几家公司,包括 Cygnet Technologies、Synaptics(它是神经网络的早期先驱,最终发明了触摸板),以及 Synaptics 的衍生产品 Foveon,后者开发了一种不寻常的多层彩色图像传感器。Ungermann 于 1979 年离开 Zilog,与他人共同创立了局域网先驱 Ungermann-Bass。IXYS 于 2009 年收购了 Zilog,Littelfuse 在 2018 年收购了 IXYS,并拥有了 Zilog。
Intel 8051
英特尔于 1980 年推出了其 8048 微控制器的后继产品 8051。它成为不朽的微控制器,而这一切都是源于某天一位应用工程师忘记带钱包上班,并请他在英特尔的老板买午餐。
Intel 于 1976 年发布了 8048 微控制器。该设计的最大弱点——有限的内存寻址能力在产品发布第一年内就出现了。从某种意义上说,这是一个大问题,因为它表明客户想要更多好东西。英特尔在 1977 年销售了价值 700 万美元的 8048 和 8748 微控制器,预计到 1980 年将达到 7000 万美元。换而言之,8048 很受欢迎。
另一方面,8048 的有限地址空间已经融入到架构和指令集中。寄存器中的存储体切换位使微控制器的程序和地址空间的大小增加了一倍,但那是一个修复的问题。在 Intel 工作的人很快了解到,如果公司想要开拓更大的微控制器市场,就需要改进 8048 架构。改进后的架构需要针对未来的增长更加量身定制,而不是出于权宜之计或出于成本原因而在 8048 中内置的限制。
到 1977 年,约翰·沃顿 (John Wharton) 已经作为英特尔应用工程师工作了大约一年。他最初是帮助英特尔客户围绕公司的 8085 微处理器设计系统,但很快就专注于 8048 微控制器的设计,因此 Wharton 非常熟悉 8048 架构的所有缺点。
1977 年 12 月的一天,Wharton上班,他意识到自己忘记带钱包了。他想吃午饭,就得找人给他买午饭。他找到他的老板莱Lionel Smith说道:“我把钱包落在家里了,你今天能带我去吃午饭吗?” Smith说他不能,因为他安排了一个午餐会议来讨论 8048 的架构继承者。然而, Smith说,“他们总是在那里吃三明治,而且总是有剩下的食物,所以你为什么不来一起,你就躲在后面啃剩下的东西吧?” Wharton同意并参加了会议,因为他饿了,也该吃午饭了。Wharton当时并不知道,决定 8048 替代架构的截止日期是年底,而他即将参加的会议对 8048 来说非常关键。
Wharton在一段口述历史中描述了那次会议:
“我可能没有完全正确地了解细节,因为我对食物更感兴趣,以及土豆沙拉是否会在到达我的餐桌尽头之前用完等等。但他们谈论的是 8048 的各种分支。8048 的低成本版本、低功耗版本、增强 8048 架构的方法、可能正在开发中的 16 位机器,诸如此类。”
“对于 8048,他们确定的逻辑增长似乎是在片上扩展内存,同时也在片上扩展一些外围设备。最初的 [80]48 有一个 1K 的片上程序存储器,大约一年半之后是一个 8049,它有 2 KB 的片上程序存储器和 128 字节的 RAM,而不是 64 字节的 RAM。”
“合乎逻辑的下一步是再转动曲柄(crank )一次,再将内存加倍一次,达到 4K RAM,达到 256 字节 RAM,这将完全填满地址空间,对于这个产品来说,这也将成为生产线的末尾。但客户也需要一些额外的外围设备。需要额外的计时器,某种串行端口。很多讨论都集中在要包括什么样的外围设备以及要做出什么样的权衡。”
“因为 8048 最初的设计目的是为了解决眼前的问题,只是为了将所有东西都集成到一个芯片上。这是一个了不起的产品,因为它完全可以工作。但在那个时代有一种心态,你会弄清楚硬件设施是什么,然后几乎是事后想出一个指令集,让你充分访问芯片设计师提供的所有东西。”
“因此,为了将 8049 扩展到下一个芯片,逻辑上应该称为 8050。计划是对8048 指令集进行某种改造,并添加存储区切换指令以增加地址空间。添加 I/O 切换指令,让您使用第二个计时器而不是第一个计时器。为了填充产品可以做很多事情,但这似乎是生产线的终点。”
第二天下午,Wharton与他的老板进行了他惯常的一对一会谈。史密斯问道:“那你觉得昨天的午餐会怎么样?” Wharton 说,如果要他设计 8048 的继任者,正在讨论的架构变化并不是他要实施的。“为什么不呢?” 史密斯问。Wharton回复:
“嗯,因为在我所做的设计工作中,以及在与客户的交谈中等等,我遇到的问题并没有通过这次升级得到解决。如果你想做的只是将更多功能塞进一个已经有点紧的封装中,你必须通过删除已经存在的东西或让产品更难使用来做到这一点。”
Wharton的意思是,到 1977 年底,8048 已经有将近十种变体,它们都有点不同。为了适应 8048 有限的 8 位指令空间,为实现新功能而添加的指令必须替换某些微控制器变体中已删除的功能的指令。删除和添加的指令使 8048 变体有些不兼容,这使代码可移植性变得复杂,并且很难将设计从一种 8048 变体更改为另一种。
这让Smith 意识到,坐在对面的Wharton有机会成为定义下一代英特尔微控制器架构的合适人选。他要求Wharton开发一种新的微控制器架构,以克服 8048 的缺点。Wharton从周五开始直到周末,共用了三天时间来制定并在下周一交付架构方案。经过大量英特尔著名的“建设性对抗”但几乎没有实质性改变的讨论之后,Wharton的架构本质上成为了英特尔 8051——永远不死的微控制器。
Intel 于 1980 年开始提供 8051 微控制器样品。8051 和 8048 之间的主要区别之一是,由于处理器程序空间的大小不断增加以及目标应用程序的复杂性不断增加,在线仿真变得很重要. 英特尔制造了 8051 的绑定版本,称为 8051E,它提供了内部地址和数据总线以及开发在线仿真器所需的控制信号。
此外,8051 的基本芯片布局从一开始就设计成可以轻松地将 ROM 或 EPROM 放入为程序存储器保留的空间。EPROM 单元比 ROM 单元大得多,因此必须将 8051 物理布局的一侧推出,以便为 EPROM 腾出空间,但这种策略被证明非常有效,可以在短时间内将所有部件从工厂中取出。
事实证明,8051 对英特尔来说是一个里程碑,其单位出货量攀升至每年数十亿个,英特尔销售了 8051 微控制器几十年。1998 年,Wharton对采用 8051 架构的半导体供应商进行了调查,发现有五家主要供应商提供基于 8051 设计的微控制器,这些供应商总共提供了 200 多种设备变体。2006 年,Wharton 参加了在加利福尼亚举行的嵌入式系统会议,他从 Keil Software 那里拿到了一份传单,该公司提供 8051 的软件开发工具。该传单列出了 60 多家公司,提供超过 1000 种不同的 8051 变体。无论以何种标准衡量,8051 微控制器都非常成功,在推出后的四分之一个世纪里一直畅销不衰。
在 8051 的口述历史中,Wharton 是这样解释 8051 的长寿的:
“在嵌入式控制市场,我们正在做的是控制世界、与世界互动、与人类互动、与机器互动、打开和关闭电机、汽油泵、收银机、键盘、手机、数码相机,在这些市场中,你正在做的是一个主要控制项目、查看输入、做出决策、控制输出的过程,但你是以现实世界的速度做的,而现实世界并没有太大变化。人们打字的速度与 30 年前差不多,所以如果 30 年前的打字机就足够了,它仍然可以工作。”
John Wharton于 2018 年去世,但他最成功的创作仍然存在,这证明了当产品由经验丰富且观察力敏锐的应用工程师而不是由在工厂工作的“专家”对处理器架构进行定义时,会大有不同。您仍然会在当前产品中找到 8051 微控制器,从计算机鼠标中的封装微控制器芯片到集成到蓝牙芯片中的微控制器 IP 内核。许多现实世界的微控制器应用程序不需要微控制器比 8051 具有更多的功能。它们在 1980 年没有,现在仍然没有。
General Instruments PIC1650
我本来不打算在早期微控制器历史的系列中写下这一章,这并不是因为 PIC1650 微控制器不重要,而是因为它在最初的版本中并不是很重要。General Instrument Microelectronics (GI) 将 PIC1650 微控制器设想为其 16 位 CP1600 微处理器的外围芯片。事实上,“PIC”最初代表“peripheral interface chip”,但该公司最终将这一含义改为“programmable intelligent computer”。CP1600 微处理器和 PIC1650 微控制器在 1970 年代都没有对行业产生太大影响。然而,GI 经历了几次濒临死亡的经历,并在 1980 年代末以 Microchip 的身份重生。
GI 很早就参加了 MOS LSI 派对——事实上,该公司在 1964 年推出了第一个商用 MOS IC,一个 20 位移位寄存器——并且该公司建立了大量成功的 MOS LSI 芯片产品组合。当中包括但不限于:
早期的计算器芯片
时钟和时钟-无线电芯片和模块
频率计数器芯片
电视调谐器和电视游戏芯片
音乐芯片和发声器
文本到语音合成器
数字电压表芯片
ROM、SRAM、EAROM(电可变 ROM)
键盘控制器
通信芯片,包括 UART(通用异步接收器/发射器)、P/SAR 和 P/SAT(可编程同步/异步接收器和发射器)
这是一个庞大的产品线。
GI 与 Honeywell 作为合作伙伴开发了 16 位微处理器,并于 1975 年推出了名为 CP1600 的设备。它大致基于 Digital Equipment Corporation 的 PDP-11 小型计算机架构。霍尼韦尔在其过程控制计算机(称为多功能控制器)和相关设备中使用了这种微处理器。Mattel Electronics 在 1979 年 1 月的 CES 上亮相的 Intellivision 家用视频游戏机中使用了 CP1600 的一个版本,称为 CP1610。显然,除了 Honeywell 的设备和 Mattel Intellivision 之外,CP1600 并没有用于许多产品中。
CP1600 在 1980 年代初期从 GI 产品目录中消失了。CP1610 又存活了几年。70 年代伟大的微处理器编年史家Adam Osborne)写道,CP1600 缺乏Design Win的主要原因是缺乏 GI 的支持,GI 倾向于将精力集中在支持像 Mattel 这样的大批量客户上。
有趣的是,那个时代的霍尼韦尔多功能控制器仍在翻新,并由 Western Process Computers 等公司提供,该公司提供由 Azbil(前身为 Yamatake,当时是霍尼韦尔在日本的制程控制合作伙伴)开发的基于 FPGA 的 CP1600 仿真。此 CP1600 仿真用作支持策略,以在 40 年历史的 GI 微处理器最终出现故障后保持这些旧过程控制器的运行。这个例子暗示了一些这种旧设备可以继续使用多长时间。
CP1600 微处理器使用内存映射 I/O,但 GI 并未为该微处理器的总线开发常规外围芯片。相反,GI 开发了一种名为 PIC1650 的 I/O 微控制器来扩展 CP1600 的 I/O 功能。GI于1976年推出PIC1650微控制器,同年Intel宣布推出8048。
PIC1650 不是第一个微控制器,也不是最好的。与大多数微控制器一样,PIC1650 采用 40 引脚 DIP 封装,运行电压为 5 伏,采用古怪的哈佛架构,具有 12 位指令字、8 位数据字和 2 级堆栈。PIC1650 唯一的片上 RAM 是一个 32 字节的寄存器文件。最初的 PIC1650 有一个相对较小的 512 字 ROM 用于程序存储。
几年来,GI 没有提供带有紫外线可擦除 EPROM 或 EAROM(EEPROM,使用更现代的术语)的 PIC1650。相反,该公司开发了 PIC1664,它带出了地址和数据总线,因此需要 64 引脚封装。相比之下,PIC1650 的竞争对手拥有更大的 ROM、更大的 RAM,并提供带窗口封装的紫外线可擦除 EPROM 版本或带接受紫外线可擦除 EPROM 的背负式插座的版本。到 1980 年,GI 为 PIC1656 添加了一个 3 级堆栈和一个用于子程序调用的“返回”指令。
20 世纪 70 年代中期,当 PIC1650 出现时,Brian Harden 曾在 GI 公司位于苏格兰法伊夫的 Glenrothes 工厂工作。GI Glenrothes 在 PIC1650 早期就收到了单片机的 TTL 仿真板,而 Harden 当时正在为 GI 开发 teletext/viewdata 芯片。他需要一些方法来为该芯片实现用户界面,并决定尝试使用微控制器仿真器来实现用户界面。他成功了,为公司开创了先例。在接下来的几年里,GI 开发了多种基于其 PIC1650 微控制器的预编程设备。
Harden 喜欢微控制器,在 1981 年离开 GI 后他也还继续使用它。他创办了一家设计咨询公司,专门从事基于 PIC1650 的设计。他的早期设计之一是用于 Creda Micron 洗衣机中的控制电子设备。他用 PIC 微控制器取代了机械控制。Creda Micron 集成了多个 PIC 微控制器,用于电机速度控制、用户界面和整体机器管理。Harden 一直经营他的设计咨询公司直到 1998 年,并估计他四分之三的设计都是基于 PIC 微控制器的。
到 1981 年,GI 添加了 PIC1670,片上 ROM 的数量增加了一倍。轻微的架构扩展为 PIC1670 微控制器提供了一个 13 位指令字,而不是 PIC1650 的 12 位指令字,这允许 PIC1670 直接寻址更大的片上寄存器文件并允许一些额外的指令。到 1983 年,PIC1650 系列共有 7 个成员,包括第一个 CMOS 成员 PIC16C58——PIC1655A 的低功耗版本——它是采用低成本 28 引脚封装的 PIC1650A。甚至在那时,GI 的目标就是将 PIC 微控制器用于成本最敏感的设计。
General Instrument 于 1987 年将其微电子部门剥离为全资子公司。一群风险资本家收购了该子公司,并于 1989 年将其命名为 Microchip Technology。然而,Microchip 的发展并不顺利。其销售额持平或下降,主要是由于来自日本半导体公司的竞争。公司 60% 以上的收入来自磁盘驱动器行业,一个客户占公司年收入的 25% 以上。Microchip 有一家老化的工厂,质量控制不佳,导致低良率和高制造成本,因为废料过多。令人难以置信的是,该公司以低于成本的价格销售和运输一些产品。到 1990 年,公司每季度亏损 250 万美元,手头的现金只够六个月使用。Microchip 处于弱势地位。公司需要的是专注。
Steve Sanghi 于 1990 年 2 月 28 日加入 Microchip,担任执行副总裁。那天,他在人力资源部门签署聘用文件时,通过公司对讲机得知现任 CEO 将被解雇,董事会正在开始寻找合适的人选,一位新的首席执行官。Sanghi 被要求从人力资源部门来到董事会,在那里他被要求离开公司作为管理层改组的一部分。他没有离开。三个月后,他成为了 Microchip 的新任 CEO。在接下来的九个月里,Microchip 一直处于破产边缘,而 Sanghi 则努力扭转局面。
Sanghi 启动了产品线分类,以找到 Microchip 可以通过其工厂生产的有利可图的设备,最后胜出的包括 PIC1650 架构、紫外线可擦除 EPROM 和 EEPROM。通过结合这三种手头的技术,Microchip 组装了第一个低成本、现场可编程的 PIC 微控制器,并且每个售价仅几美元,而来自摩托罗拉和英特尔的竞争性微控制器每个售价超过 10 美元。现场可编程 PIC 微控制器对分销商非常有吸引力,因为它们可以放在货架上,随时可以运送给客户。分销成为 Microchip 的 PIC 微控制器的重要渠道。
第一款 Microchip PIC 微控制器非常成功,公司迅速发展该产品线以包括 16 位和 32 位品种。1990 年,Microchip 被列为第 20大微控制器公司。到 2002 年,它已成为头号微控制器供应商。在那些年里,Microchip 只瞄准了一家公司:摩托罗拉——微控制器领域的老大。摩托罗拉 MC6800 微处理器架构已发展成为众多微控制器系列,包括 MC6801、MC6805、MC68HC05、MC68HC08、MC68HC11 和 MC68HC12。这些庞大的家族使摩托罗拉在微控制器列表中名列前茅。Microchip 在十年内成功地将 PIC1650 架构从榜单的底部推向了榜首。
在后续的发展中,片上 EEPROM 技术使 Microchip 能够将其可擦除微控制器置于低成本塑料封装中,而其他微控制器供应商则被迫为其 UV 可擦除部件使用昂贵的开窗陶瓷封装。Microchip 能很好地支持其客户,其廉价的开发平台呼应并放大了其低成本微控制器的吸引力。Microchip 还采用积极的学术计划来教授崭露头角的开发人员如何使用 Microchip 微控制器而不是竞争产品。该计划为 Microchip 的未来市场播下了种子。到 2002 年,所有这些战略都帮助 Microchip 的微控制器市场份额跃居榜首。
Microchip 的开端发生在微控制器的早期历史时期,但公司的成功发生在几十年后,在微控制器使用开始爆炸式增长的时代,新的微控制器系列开始以非常快的速度出现。在此扩张时期,欧洲和日本的半导体制造商纷纷涌入市场。
结语
在本文中,我没有涵盖 1980 年代以后的微控制器,也没有涵盖 1970 年代开发的所有微控制器。我知道我已经省略了一些微控制器,因为除了数据表之外缺少记录的信息,这会导致历史不佳。例如,我没有找到足够的信息来撰写有关美国国家半导体 COP 微控制器系列的完整文章。
一些单独的微控制器历史在网上或计算机历史博物馆和斯坦福大学图书馆等机构的口述历史记录中得到了很好的介绍。我甚至在旧电子邮件列表服务器和在线公告板的在线档案中找到了很多有用的资料,而且我在微控制器供应商自己的未经审核的在线用户对用户论坛中发现了一些隐藏的项目。其他不太流行或可能不太出名的微控制器的文档很少,甚至完全消失在时间的迷雾中。
希望这系列文章能够给大家对MCU的早期历史有了解。
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第3274内容,欢迎关注。
推荐阅读
半导体行业观察
『半导体第一垂直媒体』
实时 专业 原创 深度
识别二维码,回复下方关键词,阅读更多
晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装
回复 投稿,看《如何成为“半导体行业观察”的一员 》
回复 搜索,还能轻松找到其他你感兴趣的文章!
推荐帖子