指示
您可以在 http://arm1.s3f.ru 以及本地观看模拟器(为此,克隆存储库并使用存储库根目录中的任何本地 Web 服务器)。
要滚动,请使用 WASD,要缩放,请使用滚轮或 Z/X。不幸的是,目前无法进行拖放操作。
构建并运行代码
代码示例位于 https://github.com/qanper/arm1_playground。
收集的带有电传打字机输出和演示的示例位于此存储库中。
对于组装,您将需要 arm-none-eabi 工具链。
在p_c
分支中有一个汇编 C 代码的示例和电传打字机输出的演示。 (该程序集也可从链接 http://arm1.s3f.ru/tty_example.bin 获取)。使用 make 进行构建,然后从模拟器页面中选择 build/test.bin 文件。使用向上箭头按钮重新启动处理器,然后按播放按钮。我建议按快速按钮以加快渲染速度(在这种情况下,模拟运行不会超时)。
p_arch
分支包含演示主处理器节点操作的汇编代码示例。取消对感兴趣标签的调用的注释并使用build.sh
进行构建,然后将 bin 文件上传到模拟器页面上。
在master
分支中有一个带有可视化功能的演示示例(打开“显示”选项卡即可查看)。该程序集也可以在 http://arm1.s3f.ru/demo_example.bin 上找到
推介会
可在存储库和 http://arm1.s3f.ru/presentation.pdf 中获取
来源清单
Wikichip 上有关架构的基本文章:https://en.wikichip.org/wiki/acorn/microarchitectures/arm1
处理器说明:http://www.bitsavers.org/pdf/acorn/ARM_Evaluation_Sys_Aug86.pdf
Ken Shirriff 的一堆文章 http://www.righto.com/search/label/arm?max-results=80
- 关于编码器(http://www.righto.com/2016/01/more-arm1-processor-reverse-engineering.html)和计数器(http://www.righto.com/2016/01/counting-bits) - in-hardware-reverse.html) 用于 ldm/stm 操作;
- 关于条件执行控制逻辑(它接受标志并接受一条指令并授予执行权限):http://www.righto.com/2016/01/conditional-instructions-in-arm1.html,这里关于标志的形成(也关于操作模式):http://www.righto.com/2016/02/the-arm1-processors-flags-reverse.html
- 指令排序器/解码器:http://www.righto.com/2016/02/reverse-engineering-arm1-instruction.html
- 微代码 http://www.righto.com/2016/02/reverse-engineering-arm1-processors.html
来自 Dave's Hacks 的大量文章 http://daveshacks.blogspot.com/search/label/arm?max-results=20
- ALU http://daveshacks.blogspot.com/2015/12/inside-alu-of-armv1-first-arm.html
- 关于逆变器中的寄存器、寄存器管理和短路的设计 http://daveshacks.blogspot.com/2015/12/inside-armv1-register-bank.html http://daveshacks.blogspot.com/2015/12/ inside-armv1-register-bank-register.html
- 数据总线布局 http://daveshacks.blogspot.com/2015/12/inside-armv1-read-bus.html http://daveshacks.blogspot.com/2016/01/inside-armv1-read-bus-b- alu-输出-bus.html
- Shift控制图及有关命令http://daveshacks.blogspot.com/2016/01/inside-armv1-decoding-barrel-shifter.html
- ALU控制电路http://daveshacks.blogspot.com/2016/01/inside-arm1v-alu-control-logic.html
- 有关微码的更多信息:http://daveshacks.blogspot.com/2016/01/inside-armv1-instruction-decoding-and.html
感激
这是我的 http://www.visual6502.org/sim/varm/armgl.html 模拟器的分支。我对Visual 6502
团队的开发表示非常感谢。
如果您也对处理器模拟印象深刻,您可以在http://visual6502.org/donate_cash.html 页面上向这些人捐款。