太神奇了,用 Excel 模拟 CPU 的工作原理

大家好,又见面了,我是 GitHub 精选君!

背景介绍

虽然 Excel 主要被用作电子表格工具,但它也可以执行一些计算机科学方面的工作。比如,你有没有想过在 Excel 里编写和执行程序?相信你早已熟知 Python、Java、C++ 等编程语言,但你可能从未听说过 Excel-ASM16,这是一种能在 Excel 中运行的编程语言。你有没有想过,在 Excel 电子表格中模拟 CPU 的工作原理?你有没有在思考如何更好的理解计算机中的寄存器、内存、CPU 工作机制、编译器等基本概念?对于计算机科学学生和编程爱好者而言,这些问题可能会始终困扰着他们。

今天要给大家推荐一个 GitHub 开源项目 InkboxSoftware/excelCPU,该项目在 GitHub 有超过 2.7k Star,用一句话介绍该项目就是:“16-bit CPU for Excel, and related files”。

项目介绍

Excel 16-Bit CPU 项目是一个在 Excel 中构建的 16 位 CPU,主要包含 CPU.xlsx 文件和 ROM.xlsx 文件,还有一个叫做 Excel-ASM16 的编译器。CPU.xlsx 文件中的 CPU 有 16 个通用寄存器、128KB 的 RAM、128x128 的显示设备等功能。使得用户能够在 Excel 中模拟 CPU 的工作流程,进一步理解计算机的内部工作机制。

如何使用

首先,你需要在 Excel 中允许迭代计算。可以在文件 - 选项 - 公式中启用迭代计算,并将最大迭代次数设置为 1。CPU 的运行需要一个时钟信号来驱动,你可以通过 F9 键来刷新电子表格驱动时钟。在 CPU.xlsx 文件中,我们还提供了一个 Reset 按钮来重置程序计数器,还提供了自动/手动模式切换按钮来控制 CPU 的运行模式。你还可以通过按钮来重置 RAM 或者从 ROM 中读取数据。此外,Excel-ASM16 提供了 24 种不同的指令,让你能够编写自己的程序。

项目推介

Excel 16-Bit CPU 是一个有趣又富有挑战性的项目。尤其对于那些对计算机硬件和编译原理感兴趣的人而言,它提供了一个直观、实际的方式来理解这些概念。

以下是该项目 Star 趋势图(代表项目的活跃程度):

更多项目详情请查看如下链接。

开源项目地址:https://github.com/InkboxSoftware/excelCPU

开源项目作者:InkboxSoftware

开源协议:Creative Commons Zero v1.0 Universal

以下是参与项目建设的所有成员:

关注我们,一起探索有意思的开源项目。


更多精彩请扫码关注如下公众号。

Written on February 2, 2024