张大妈

Gigatron - 没有微处理器的复古计算机

源自知乎:攻伤菊菊长

01-16 16:20

Gigatron TTL microcomputer是一个极其独特的复古计算机项目。它最大的特点是没有使用微处理器(CPU),而是完全通过基础的7400系列TTL逻辑芯片,从零构建出一台功能完整的8位计算机。对于想深入理解计算机底层硬件原理的爱好者而言,这个项目提供了一个绝佳的学习和实践平台。

Gigatron - 没有微处理器的复古计算机智能速览

  • Gigatron使用7400系列TTL芯片构建,没有传统微处理器。

  • 它的8位CPU集成处理了视频、音频和I/O功能,主频为6.25MHz。

  • 项目全开源,适合硬件组装和软件模拟的学习。

  • 指令集极其精简,采用RISC设计,仅有8条定长指令。

  • 社区开发者为其添加了128KB内存扩展和SD卡支持。

  • 实现一个软件模拟器约需1300行C代码,学习成本适中。

Gigatron - 没有微处理器的复古计算机精华内容

Gigatron的魅力不仅在于其独特的设计,更在于它将计算机科学的基础原理以最纯粹的方式呈现出来。下面深入其架构与实现。

极简CPU设计

与所有8位计算机不同,Gigatron没有一颗现成的CPU。它的“CPU”由上百个德州仪器7400系列的TTL逻辑门电路搭建而成,是一颗真正“硬连线”的8位处理器。为了保持架构的极致简约,这颗CPU不仅要执行计算任务,还要负责生成视频信号、处理音频输出以及管理其他I/O操作。得益于6.25MHz的“高主频”,Gigatron能够流畅运行官方ROM内置的贪食蛇、打砖块和赛车等多款游戏。

独特的指令集

虽然硬件基础简约,但Gigatron的CPU设计思想却很先进,采用了精简指令集(RISC)设计,使用16位定长指令。其寄存器设计与经典的MOS6502处理器(如Apple II、NES中使用的CPU)有相似之处,拥有PC、A、X、Y等寄存器,但也有显著区别,例如它有专用的IO寄存器,却没有堆栈指针和处理器状态寄存器。整个指令集只有8条指令,分为LD/ST(加载/存储)和分支(B)两类,外加AND、OR、XOR、ADD、SUB五种ALU操作。分支条件则直接通过累加器(AC)的值来判断,而非专用状态寄存器。

模拟器的实现

由于原生汇编编程较为复杂,官方还提供了一个实验性的MOS6502模拟器,并于2022年在v6版本ROM中完成开发,让大多数6502软件得以运行。对于想体验Gigatron的人来说,软件模拟是门槛最低的方式。官方提供了基于JavaScript的jsemu,也有方便移植到FPGA的VHDL版本。实现一个Gigatron模拟器并不复杂,通常采用高层级模拟(HLE),即模拟CPU行为而非模拟底层每个TTL芯片。对于一个定长指令、仅有8条指令的CPU,其模拟器代码量约1300行C代码即可完成,与一个周末完成的“Ray Tracing in One Weekend”项目代码量相当。

社区与扩展

Gigatron项目由Marcel van Kervinck和Walter Belgers于2018年发布,但不幸的是,核心开发者Marcel于2020年5月病逝,官方套件也随之停售。庆幸的是,项目完全开源,社区接过了发展的火炬。社区开发者lb3361不仅开发了Gigatron的C编译器glcc,还制作了支持128KB内存的魔改ROM(dev128k7.rom),并为其添加了SD卡支持。这一内存扩展通过类似NES游戏卡带的Bank Switching技术实现,将原始64KB内存空间翻倍。许多模拟器,包括一些个人开发的项目,也跟进支持了这一128KB内存模式,让这台复古计算机的生命力得以延续。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章