« MD 架构 (index)

MD 架构

Chapter 3: 中央处理器 (CPU)


目录

  1. 主处理器
    1. 一种特殊的指令集
  2. 配角
  3. 可用内存
    1. 相互通信

该游戏机有两个通用处理器。

主处理器

首先,我们有一个摩托罗拉68000运行在~7.6MHz,这是一种流行的处理器,当时已经出现在许多计算机中,例如Amiga、(初版)Macintosh、Atari ST... 有趣的是,这些计算机每一代都继承了它们的"6502前辈",而虽然Sega Master System(译注:以下简称SMS)(MD的前身)并未采用6502 CPU,但NES(译注:即美版FC,日版也是同样CPU)却使用了(在某种程度上,世嘉的目标是要吸引任天堂的消费者)。 总而言之,你可以看到电脑的发展和游戏机技术之间是有一点关联的。

Image
MD上的摩托罗拉68000芯片,这个是从日立第二次采购的。

回到主题,68k具有"主"CPU的角色,它将负责游戏逻辑,处理I/O和图形计算。 它具有以下功能:

如果你对为何在能处理32位字的CPU中使用24位地址感到好奇,那是因为那个时代的设备很少需要管理4GB的内存。 考虑到实现未使用的线路在性能和资金方面代价高昂,摩托罗拉做出了一个合理的妥协,采用32位寄存器和24条地址线,为开发者为五年后全面32位CPU(即68020)的到来做好准备。

一种特殊的指令集

在80年代的RISC革命之前,曾有一个浪潮试图巩固指令集的设计方式。 本质上,70年代的消费者CPU(如6502或8080)提供的指令已经预先定义了如何访问内存(这称为"寻址模式")。 在68000中,摩托罗拉将指令函数(操作码)从寻址模式中分离出来,使后者只是另一个参数(操作数)。 通过这样做,开发人员现在可以使用具有最佳寻址模式的相同操作码(根据他们的需要)。

这一原则被称为指令集正交性,它极大地影响了70年代末的新一代CPU,但随着RISC设计的兴起而迅速消散,实际上将负担转移到了编译器上。 无论如何,摩托罗拉68k系列在80年代非常受欢迎,直到90年代初,很多公司才开始转向另一个供应商。

配角

游戏机中安装了另一个CPU,运行频率约为3.5 MHzZilog Z80。 这与之前在Master System文章中分析过的处理器是同一款。

然而,在MD中,Z80主要被指定用于音频控制。 因此,它的16位地址总线由以下 组成:

最后需要强调的是,这两颗CPU能够并行运行......但存在特定限制条件,具体细节将在后续段落中详细说明。

可用内存

主CPU包含64 KB的专用RAM用于存储通用数据,而Z80包含8 KB的RAM用于与声音相关的操作。

相互通信

世嘉选择了两个相互没有感知的独立处理器,那么游戏如何同时管理两者呢? 主程序在68000中执行,这个CPU随后可以在Z80的RAM上写入。 因此,68000可以向Z80的RAM发送一个程序,并指示Z80加载它(通过向Z80发送复位信号)。 一旦Z80得到控制,它就可以用来管理声音子系统,并使用前面描述的方法移动内存,所有这些都是在68000处理其他操作的同时进行的。

Image
MD的内存架构。

但需要注意一个关键限制:由于其中一颗CPU需要接入另一颗的总线,而两颗CPU无法同时访问同一条总线,因此必须通过一个名为"总线仲裁器"的额外组件来暂停任一处理器,从而实现无冲突的内存访问。

值得注意的是,若管理不当,这种设计可能导致性能下降。因此游戏开发时必须特别注意总线仲裁器的使用,确保任何一颗CPU都不会被不必要地长时间挂起。


Previous: 2. 快速介绍

Next: 4. 图形


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站