Hacker News 中文摘要

RSS订阅

Zilog Z80 问世 50 周年 -- The Zilog Z80 has turned 50

文章摘要

Zilog Z80处理器于1976年7月发布,至今已50年。它广泛应用于8位微型计算机、家用电脑及嵌入式系统,与8080/8085兼容,推动了CP/M和Microsoft BASIC等软件标准。其衍生架构包括GameBoy使用的Sharp LR35902,后续还有eZ80等变体。

文章总结

好的,这是根据您的要求,对原文进行的中文重述,保留了核心细节,并删减了与主题无关的个人轶事和部分背景铺垫。


Zilog Z80 处理器诞生50周年回顾

Zilog Z80 处理器于1976年7月正式发布,至今已走过50年。这款处理器极为成功,广泛应用于众多8位微型计算机,包括早期个人电脑、家用电脑,以及大量的嵌入式系统和工业设备。

Z80 与 Intel 8080 和 8085 二进制兼容,共同为8位微处理器创建了一个事实上的硬件标准,并催生了 CP/M 操作系统和 Microsoft BASIC 等软件标准。Z80 自身也衍生出众多克隆和派生架构,其中最著名的当属用于初代 GameBoy 的 Sharp LR35902。Zilog 公司最终放弃了16位和32位架构的研发,回归到基于 Z80 的微控制器及其变体(如 eZ80),主要面向工业应用。直到两年前,Zilog 才最终停产了原始的 Z80 处理器。

从 Datapoint 2200 到 Intel 8008

故事始于计算机终端公司(CTC)开发的 Datapoint 2200 可编程终端,其8位处理器由分立 TTL 芯片构成。CTC 曾委托 Intel 和德州仪器(TI)将整个 CPU 集成到单芯片上。两家公司均未按时完成设计。当 Intel 的芯片(最初命名为 1201)准备就绪时,CTC 已开始销售基于 TTL 设计的终端,且对其性能不满。TI 最终放弃了设计,而 Intel 则将其成功商业化,命名为 8008

8008 架构:拥有7个寄存器(A、B、C、D、E、H、L),其中 A 为累加器,H 和 L 组成内存指针。处理器使用一个8级深度的内部返回地址栈来处理函数调用。内存地址为14位,拥有独立的32个I/O端口。中断处理通过特殊的“重启”指令实现,该指令会调用地址空间起始处的8个固定地址之一。整个架构较为简单,约3500个晶体管,采用18引脚封装,地址和数据线复用,需要外部锁存器。

从 Intel 8008 到 8080

在8008开发期间,改进架构的想法就已出现。Federico Faggin 推动开发改进版,但管理层希望先观察市场反应。在竞争对手宣布其8位设计后,Intel 才批准了 8080 项目。Faggin 从 Busicom 公司挖来了 Masatoshi Shima 参与设计。潜在客户的反馈也影响了设计,并决定放弃与8008的二进制兼容性。

8080 架构:保留了与8008基本相同的寄存器组,但用位于内存中的外部堆栈(通过堆栈指针 SP 访问)取代了内部返回地址栈。内存地址提升至16位(64KB空间),I/O端口增至256个。BC 和 DE 寄存器对现在也支持基本的间接寻址。中断处理方式类似,但增加了软件启用/禁用中断的功能。电气接口方面,8080 采用 NMOS 逻辑,需要 -5V、+5V 和 +12V 三种供电电压,以及两相时钟信号。得益于40引脚封装,数据和地址线不再复用,但仍需外部锁存和解码内部状态。

Zilog 与 Z80 的诞生

Federico Faggin 因在 Intel 的经历感到不满,决定离职并与 Ralph Ungermann 共同创立 Zilog 公司。他最初考虑设计微控制器,但最终决定设计一款改进版的 8080,代号“Super 80”,即后来的 Zilog Z80。他们从 Exxon 获得资金,并再次邀请 Masatoshi Shima 加入设计团队。

Z80 的设计目标是:与 8080 二进制兼容,同时增加寄存器、寻址模式和指令(从 6800 等处理器汲取灵感),并简化电气接口、提高速度。整个处理器从开发到首个工作原型,花费约40万美元,按时并在预算内完成。Zilog 最初依赖 Mostek 制造其处理器。

Z80 架构:完全兼容 8080 指令集。受 6800 启发,增加了两个变址寄存器 IX 和 IY。AF、BC、DE 和 HL 寄存器对支持寄存器组切换,以实现更简单快速的中断处理。Z80 有三种中断模式:兼容 8080 的模式0、固定地址调用的模式1,以及通过调用表分发的模式2。此外,还增加了位旋转、位测试与设置、BCD 算术、内置循环指令(使用 BC 作为计数器)、自重复块传输、块比较和字符串操作等指令。由于 Intel 声称对汇编助记符拥有版权,Z80 采用了语法更清晰、操作数表达更明确的自己的汇编语言。

改进的总线设计:Z80 仅需单一 +5V 电源和单一时钟信号。许多在 8080 上需要外部锁存/解码的状态信号(如 MREQ、IORQ、RD、WR、M1)都被 Z80 直接引出。这些信号可以轻松连接简单的逻辑芯片(如 74xx138)来驱动 (E)EPROM、RAM 和 UART 控制器,从而构成一台可工作的计算机。如果使用 DRAM,Z80 还能利用内部刷新计数器在指令译码周期进行 DRAM 刷新。

后续发展

早在 Z80 于1976年7月发布之前,16位 Z8000 架构的初步设计工作就已开始。Z8000 于1979年发布,采用了分段内存,但需要外部 MMU 芯片进行地址转换和权限检查。尽管 8086 指令集明显继承了 8080 的血统,但也借鉴了 Z80 的一些特性,如自重复块和字符串操作。Z8000 的 MMU 设计也影响了 Intel 286 保护模式中基于描述符表的设计。

Zilog 与 Exxon 的紧密关系,是 IBM 最终未为其 PC 选择 Zilog 处理器(转而采用 Intel 8088)的原因之一。Exxon 有意建立自己的计算帝国,与 IBM 竞争,并战略投资了多家公司,其中一些公司围绕 Zilog 部件设计产品。这种关系最终也导致了 Faggin 与 Ungermann 之间的摩擦,后者在 Zilog 成为 Exxon 全资子公司前离开。Zilog 后来几经转手,目前由 Littelfuse 公司所有。Z80 处理器在经历了漫长的嵌入式生命周期后,于2024年6月正式停产。

评论总结

根据评论内容,总结如下:

主要观点与论据:

  1. Z80是许多人的编程启蒙

    • 多位评论者提到Z80是他们学习编程的起点,尤其是通过TRS-80、ZX Spectrum等早期计算机。
    • 关键引用:
      • "As the proud owner of a ZX-81 I remember staring at the Z80 instruction reference... It took me some while before I managed to wrap my head around how CPUs actually run programs" (YZF)
      • "This is the CPU that I first learned to code on, first in TI Basic and then Z80 assembler" (dpcx)
  2. Z80的广泛应用与持久影响

    • 评论指出Z80仍用于TI-84计算器、Game Boy Advance等设备,甚至被用于太空探测器。
    • 关键引用:
      • "No mention of the TI-84 calculator? Used by millions of American schoolchildren, programmable in BASIC, and runs on Z80 to this day" (Georgelemental)
      • "My son programmed a Z80-based instruction set into a Juno probe sensor. Still kicking" (JoeAltmaier)
  3. 技术细节与兼容性争议

    • 有评论指出Z80与8080并非完全二进制兼容,尤其在标志寄存器方面存在差异。
    • 关键引用:
      • "The Z80 is fully binary compatible with the 8080 instruction set... It wasn't in regards to the flag register. The parity flag behaved differently for some ops" (tasty_freeze)
  4. 怀旧情感与个人故事

    • 许多评论者分享了与Z80相关的个人经历,如组装套件、学习汇编、家庭回忆等。
    • 关键引用:
      • "I started programming in 1978 (In Assembler)... Found a great kit using the Z80 and built it and spent many nights with a logic probe and oscilloscope learning digital electronics" (ozhero)
      • "Family couldn't afford the computer but I bought all the books... Then family surprised me with it as a birthday present" (ck2)
  5. Z80的现状与未来

    • 评论提到Z80已于去年停产,但存在开源克隆版本。
    • 关键引用:
      • "The Z80 stopped being manufactured last year unfortunately" (GalaxyNova)
      • "There is a drop in compatible FOSS clone of Z80" (haunter)

平衡性说明:
- 正面观点:Z80被赞为“magnificent CPU”,是许多人的编程启蒙和怀旧对象。
- 负面/技术性观点:存在兼容性问题(如标志寄存器差异),且已停产。
- 中立观点:Z80的广泛应用(计算器、游戏机、太空探测器)和开源替代方案。