用于复古计算机学校项目的 CPU

电器工程 微控制器 微处理器 计算机架构
2022-01-23 10:03:16

我是 IT 学校的一名学生,我们正在努力想一个项目,我们可以用它来向一年级学生展示舞台背后的工作原理,我们最终想到了制作一台复古电脑。

我已经阅读了很多关于 Z80 处理器的内容,但我的猜测是我们需要更强大的东西,我们仍然对架构感到疑惑,尽管考虑到我们会找到很多文档,ARM 可能是一个不错的选择,我们有还建立了一些特殊需求:

  • 如果我们需要更多 RAM,则使用外部地址总线
  • > 50MHz
  • 16 或 32 位
  • 无 BGA/QFN 封装
  • 没有FPGA板
  • 串行接口(?)
  • 也不太贵,因为我们的预算有限

P8X32A-D40 看起来像一个不错的 CPU,但缺少我们需要的 RAM 量(32k),我更多地考虑大于 1MB 之类的东西。也许eZ80值得考虑。我们希望像您一样经过实验的人提供答案。

谢谢你。

编辑:即使我已经接受了一个满足我们需求的答案,这个问题仍然可以接受其他建议,因为我们必须与愿意参与该项目的学生团队讨论选择。

3个回答

尽管当前可用的版本没有真正的外部地址总线(即将推出),但您可能会考虑Microchip PIC32它的架构基于MIPS,可以追溯到 1988 年,是两个主要的 RISC 指令集之一(另一个是 ARM)。所以在这方面它可以被认为是复古的。(小事:索尼 Playstation 使用了 MIPS 处理器。)

PIC32 的一个很好的特性(对于 32 位微控制器来说是不寻常的)是您可以在 DIP 封装中获得多种类型,但是与表面贴装版本相比,可用的最大内存将受到限制。在 28 引脚 DIP 封装中具有最大存储器的 PIC 之一是PIC32MX250F128,具有 128KB 闪存(程序)存储器和 32KB RAM。它可从美国的 Digi-Key英国的 Farnell 获得

尽管 RAM 可能看起来有限,但请注意 PIC 是哈佛架构,这意味着程序和数据地址空间是分开的,并且程序是在闪存之外执行的,因此您不需要大量 RAM。(对于纯粹主义者来说,PIC32 实际上是修改后的哈佛架构,因为它可以从 RAM 中运行程序。)另一种选择是冯诺依曼架构(例如,在 PC 中使用),其中所有内容都有一个地址空间,程序通常用完 RAM,一个例外是它们通常需要至少有一些 Flash 或 ROM(在 PC 中称为 BIOS)处理器的地址空间,用于执行引导例程以将操作系统从大容量存储设备或网络加载到 RAM 中。Z80(以及当时的大多数微处理器)也使用了冯诺依曼架构。因此,必须将程序和数据都放入 64 KB。一些具有冯诺依曼架构的微控制器也将它们的外设映射到相同的 64K 地址空间;其他人使用单独的端口寻址。

关于外部总线,当前的 PIC32(但仅限于表面贴装封装,由于引脚数量)具有 8 位或 16 位宽的“并行主端口”(PMP),它与 DMA 相结合,可以来回传输数据在 PIC 的 RAM 和外部 RAM 或外围设备之间自动进行。但是,这不允许人们直接访问外部存储器(在处理器的地址空间中)或在那里运行代码。最新的PIC32MZ 系列(在 Digi-Key 上市但尚无库存)将具有真正的外部地址总线、高达 2MB 的闪存、1/2 MB 的 RAM,并以 200 MHz 运行。

PIC32MX250F128 以 50 MHz 运行,还有其他以 80 MHz 运行。它有两个串行UART端口;您将需要一个电平转换器将其转换为 RS232 信号。

因为它被封装为 DIP,并且可以在没有外部振荡器的情况下运行,所以开始时您只需要一个 3.3.v 电源、一些 0.1 µF 去耦电容和一个面包板。您可以从 Microchip获得免费的 C 编译器和 IDE 。

一旦处理器启动并运行,您可以添加外围设备,如 LCD 显示器、按钮(甚至键盘)等。

您可以获得具有高达 512KB 闪存和 128KB RAM 的其他 PIC32MX,但仅限于表面贴装封装,如TQFPVQFN,需要您布局 PCB(任何 ARM 处理器也会遇到同样的问题)。

虽然我大致同意@tcrosley,但我觉得有必要指出,如果你真的想向其他学生展示事情是如何“在舞台后面”工作的,那么你应该买一块 FPGA 板(只买一个,不要尝试制作它) ) 并学习如何使用逻辑从头开始构建 CPU。看看这个作为一个很好的起点。

你考虑过MC68000系列吗?

它是一个 16/32 位 CPU,除了 68008,数据线是 16 位,其中一些可以轻松运行在 50 MHz,地址空间为 16 MB。

  • 如果我们需要更多 RAM,则使用外部地址总线- 是的,而且只有
  • > 50 MHz - 可以
  • 16 位或 32 位- 两者
  • 没有 BGA/QFN 封装- 是
  • 没有 FPGA 板- 没有
  • 串行接口(?)不,你必须自己做,但很容易
  • 也不太贵,因为我们的预算有限- 是的

这是完整的文档:https ://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf