2.1.3 如何用Go模拟CPU
如何用Go模拟CPU 蒙卓 华为 – 2012实验室 工程师 成为盘古? 让这个世界里面的人(程序)无法察觉 这个世界是创造出来的 目录 • 计算机的演化历史 – 硬件计算到冯诺伊曼架构 • 构建虚拟世界 – MOS 6502 • 控制单元(control unit) • 运算逻辑单元(arithmetic logic unit) • 6502汇编器与链接器 • 未来目标 1970年程序员 • 因为我们处在最好也是最坏的时代 • 抽象多且环环嵌套 • 硬件过于复杂 • 软件基于操作系统等复杂概念 • 真的快且便宜 Go模拟CPU • 如何用Go实现冯诺伊曼架构CPU? • 简单:一个循环+一个大数组 读取当前指令 执行指令 下一条指令 模拟目标 – MOS 6502 • 诞生于1975年 • MOS 6502应用范围广 • 资料多且易获得 • 简单、容易实现的现代CPU 1个16位程序指针寄存器(PC) • 1个栈寄存器(SP) Go模拟内存 • 内存空间 [65536]Byte • 每个块是一个page (256Byte) ZeroPage Stack ..... vectors ..... 0x00 – 0xFF 0x100 – 0x1FF 0x1FF – 0xFFF9 0xFFFA Go模拟6502控制单元 • 读取当前指令:16位PC寄存器 •0 码力 | 42 页 | 7.10 MB | 1 年前3KiCad 5.1 原理图编辑器
CAD 软件的链 接,例如: PCB 布局软件。 原理图和电信号模拟器。 CPLD(和其他可编程 IC )编译器。 Eeschema 支持几种网络列表格式。 PCBNEW 格式(印刷电路)。 ORCAD PCB2 格式(印刷电路)。 CADSTAR 格式(印刷电路)。 Spice 格式,适用于各种模拟器(其他模拟器也使用 Spice 格式)。 10.2. 网表格式 选择工具 同样,字母和数字以外的特殊字符也可能导致问题。 请注意,此限制与 Eeschema 无关,而是与网表格式无关,后者可以变为不可翻译为使用网表文 件的软件。 10.4.2. PSPICE 网表 对于 Pspice 模拟器,您必须在网表本身(.PROBE,.AC 等)中包含一些命令 行。 从关键字 -pspice 或 -gnucap 开始的示意图中包含的任何文本行都将在网表的 顶部插入(不带关键字)。 以关键字 Passive 无源元件的结束 Unspecified 未知电气类型 Power input 单元件电源输入引脚 Power output 电源输出引脚作为稳压器输出 Open collector 模拟比较器中常见的开路集电极输出 Open emitter 有时在逻辑中找到开放发射器输出。 Not connected 必须在原理图中保持未连接状态 15.5.5. “库” 部分 库部分具有分隔符。 0 码力 | 248 页 | 2.00 MB | 1 年前3KiCad 5.1 原理图编辑器
软件的链接,例如: • PCB 布局软件。 • 原理图和电信号模拟器。 • CPLD(和其他可编程 IC )编译器。 Eeschema 支持几种网络列表格式。 • PCBNEW 格式(印刷电路)。 • ORCAD PCB2 格式(印刷电路)。 • CADSTAR 格式(印刷电路)。 • Spice 格式,适用于各种模拟器(其他模拟器也使用 Spice 格式)。 10.2 网表格式 选择工具 同样,字母和数字以外的特殊字符也可能导致问题。请注意,此限制与 Eeschema 无关,而是与网表格式无关,后者 可以变为不可翻译为使用网表文件的软件。 10.4.2 PSPICE 网表 对于 Pspice 模拟器,您必须在网表本身(.PROBE,.AC 等)中包含一些命令行。 从关键字 -pspice 或 -gnucap 开始的示意图中包含的任何文本行都将在网表的顶部插入(不带关键字)。 以关键字 +pspice Passive 无源元件的结束 Unspecified 未知电气类型 Power input 单元件电源输入引脚 Power output 电源输出引脚作为稳压器输出 Open collector 模拟比较器中常见的开路集电极输出 Open emitter 有时在逻辑中找到开放发射器输出。 Not connected 必须在原理图中保持未连接状态 15.5.5 “库”部分 库部分具有分隔符0 码力 | 162 页 | 3.04 MB | 1 年前3KiCad 6.0 原理图编辑器
as the simulation engine. 使用模拟器时,您可能会发现官方的 pspice 库很有用。 它包含用于模拟的公共符号,如电压/电流源或晶体管,其引 脚编号与 ngspice 节点顺序规范相匹配。 还有一些演示项目来说明模拟器的功能。 您将在 demos/simulation 目录中找到它们。 分配模型 在启动模拟之前,元件需要分配 Spice 模型。 即使元件由多个单元组成,每个元件也只能分配一个模型。 示超级前缀,您可以在(模拟设置,模拟设置对话框)中请求这样做。 Spice 模型信息作为文本存储在符号字段中,因此您可以在符号编辑器或原理图编辑器中定义它。 打开符号属性对话 框,然后单击 编辑 Spice 模型 按钮以打开 Spice 模型编辑器 对话框。 Spice 模型编辑器 对话框有三个对应于不同模型类型的选项卡。 所有模型类型共有两个选项: 103 ““ 禁用模拟的符号 选中时,元件将从模拟中排除。 选中时,元件将从模拟中排除。 备用节点序列 允许用户将符号引脚覆盖为模型节点映射。 要定义不同的映射,请按 模型预期的顺序指定引脚编号。 '例子:'+ “* 连接:”+ “* 1: 非反相输入” “* 2: 反相输入” “* 3: 正电源” “* 4: 负电源” “* 5: 输出” “.子电路 tl071 1 2 3 4 5” 要将符号引脚与上面显示的 Spice 模型节点相匹配,需要使用具有值0 码力 | 141 页 | 5.23 MB | 1 年前3Blender v2.93 参考手册(简体中文版)
examples. 主要功能 Blender是⼀个完整集成的3D创作套件,提供了⼤量的基础⼯具,包括 建 模 、 渲染 、 动画 & 绑定 、 视频编辑 、 视觉效果 、 合成 、 贴图, 以 及多种类型的 模拟。 跨平台,使⽤了OpenGL的GUI可以在所有主流平台上都表现出⼀致的显 ⽰效果(并且可通过Python脚本来⾃定义界⾯)。 ⾼质量的3D架构,带来了快速且⾼效的⼯作流。 It boasts active 制、 流体粒⼦、 代理对象、 序列编辑器的重写,和后期 UV 贴图绘画。 2.44 -- May 2007: ⼤新闻,除了两个新的修改器和重新启动的 64 位操作系统⽀持外,增加了 次表⾯散射,模拟⽣物和软物体表⾯的光散射。 2.45 -- September 2007: 重⼤bug修复,解决了⼀些性能问题。 2.46 -- 2008年5⽉: 桃项⽬发布,⼤约70名开发⼈员对这块进⾏了⼤量的开发⼯作。提供了⽑ 的成果。 2.47 -- 2008年8⽉: Bug修复版。 2.48 -- October 2008: Apricot 项⽬发布、 ⾮常酷的 GLSL 着⾊器、 灯光和游戏引擎改进、 吸 附、 天空模拟器、 缩裹修改器和 Python编辑改进。此次发布包含 Apricot 项⽬ 的成果。 2.49 -- 2009年6⽉: 基于节点的纹理、⾻架草图 (又称作Etch-a-Ton)、 布尔⽹格操作改进、0 码力 | 4065 页 | 209.17 MB | 1 年前3Blender v3.4 参考手册(简体中文版)
视觉效果 材质 动画 模式 动画 & 绑定 简介 关键帧 ⾻架 晶格 约束 动作 驱动程序 标记 形态键 运动路径 物理 简介 刚体 布料 软体 流体 粒⼦系统 动态绘画 ⼒场 碰撞 烘焙物理模拟 渲染 简介 Eevee Cycles ⼯作台 相机 灯光 材质 着⾊节点 ⾊彩管理 Freestyle 层 & 通道 渲染输出 合成 简介 侧栏 节点类型 运动跟踪 & 遮罩 简介 运动追踪 ,以获得更多⽰列。 主要功能 Blender是⼀个完整集成的3D创作套件,提供了⼤量的基础⼯具,包括 建 模 、 渲染 、 动画 & 绑定 、 视频编辑 、 视觉效果 、 合成 、 贴图, 以 及多种类型的 模拟。 跨平台,使⽤了OpenGL的GUI可以在所有主流平台上都表现出⼀致的显 ⽰效果(并且可通过Python脚本来⾃定义界⾯)。 ⾼质量的3D架构,带来了快速且⾼效的⼯作流。 它有着活跃的社区⽀持, blender 制、 流体粒⼦、 代理对象、 序列编辑器的重写,和后期 UV 贴图绘画。 2.44 -- 2007年5⽉: ⼤新闻,除了两个新的修改器和重新启动的 64 位操作系统⽀持外,增加了 次表⾯散射,模拟⽣物和软物体表⾯的光散射。 2.45 -- 2007年9⽉: 重⼤bug修复,解决了⼀些性能问题。 2.46 -- 2008年5⽉: 桃项⽬发布,⼤约70名开发⼈员对这块进⾏了⼤量的开发⼯作。提供了⽑0 码力 | 4571 页 | 265.39 MB | 1 年前3Blender v3.5 参考手册(简体中文版)
视觉效果 材质 动画 模式 动画 & 绑定 简介 关键帧 ⾻架 晶格 约束 动作 驱动程序 标记 形态键 运动路径 物理 简介 刚体 布料 软体 流体 粒⼦系统 动态绘画 ⼒场 碰撞 烘焙物理模拟 渲染 简介 Eevee Cycles ⼯作台 相机 灯光 材质 着⾊节点 ⾊彩管理 Freestyle 层 & 通道 渲染输出 合成 简介 侧栏 Realtime Compositor 节点类型 examples. 主要功能 Blender是⼀个完整集成的3D创作套件,提供了⼤量的基础⼯具,包括 建 模 、 渲染 、 动画 & 绑定 、 视频编辑 、 视觉效果 、 合成 、 贴图, 以 及多种类型的 模拟。 跨平台,使⽤了OpenGL的GUI可以在所有主流平台上都表现出⼀致的显 ⽰效果(并且可通过Python脚本来⾃定义界⾯)。 ⾼质量的3D架构,带来了快速且⾼效的⼯作流。 它有着活跃的社区⽀持, blender 制、 流体粒⼦、 代理对象、 序列编辑器的重写,和后期 UV 贴图绘画。 2.44 -- May 2007: ⼤新闻,除了两个新的修改器和重新启动的 64 位操作系统⽀持外,增加了 次表⾯散射,模拟⽣物和软物体表⾯的光散射。 2.45 -- September 2007: 重⼤bug修复,解决了⼀些性能问题。 2.46 -- 2008年5⽉: 桃项⽬发布,⼤约70名开发⼈员对这块进⾏了⼤量的开发⼯作。提供了⽑0 码力 | 4816 页 | 302.58 MB | 1 年前3Blender v4.0 参考手册(简体中文版)
视觉效果 材质 动画 模式 动画 & 绑定 简介 关键帧 ⾻架 晶格 约束 动作 驱动程序 标记 形态键 运动路径 物理 简介 刚体 布料 软体 流体 粒⼦系统 动态绘画 ⼒场 碰撞 烘焙物理模拟 模拟节点 渲染 简介 EEVEE Cycles ⼯作台 摄像机 灯光 材质 着⾊节点 ⾊彩管理 Freestyle 层 & 通道 渲染输出 合成 简介 侧栏 GPU合成器 节点类型 运动跟踪 ,以获得更多⽰列。 主要功能 Blender是⼀个完整集成的3D创作套件,提供了⼤量的基础⼯具,包括 建模 、 渲染 、 动画 & 绑定 、 视频编辑 、 视觉效果 、 合成 、 贴图, 以及多种类型 的 模拟。 跨平台,使⽤了OpenGL的GUI可以在所有主流平台上都表现出⼀致的显⽰效果 (并且可通过Python脚本来⾃定义界⾯)。 ⾼质量的3D架构,带来了快速且⾼效的⼯作流。 它有着活跃的社区⽀持, 制、 流体粒⼦、 代理对象、 序列编辑器的重写,和后期 UV 贴图绘画。 2.44 -- 2007年5⽉: ⼤新闻,除了两个新的修改器和重新启动的 64 位操作系统⽀持外,增加 了次表⾯散射,模拟⽣物和软物体表⾯的光散射。 2.45 -- 2007年9⽉: 重⼤bug修复,解决了⼀些性能问题。 2.46 -- 2008年5⽉: 桃项⽬发布,⼤约70名开发⼈员对这块进⾏了⼤量的开发⼯作。提供了⽑0 码力 | 5352 页 | 306.21 MB | 1 年前3Blender v3.6 参考手册(简体中文版)
视觉效果 材质 动画 模式 动画 & 绑定 简介 关键帧 ⾻架 晶格 约束 动作 驱动程序 标记 形态键 运动路径 物理 简介 刚体 布料 软体 流体 粒⼦系统 动态绘画 ⼒场 碰撞 烘焙物理模拟 模拟节点 渲染 简介 Eevee Cycles ⼯作台 摄像机 灯光 材质 着⾊节点 ⾊彩管理 Freestyle 层 & 通道 渲染输出 合成 简介 侧栏 Realtime Compositor ,以获得更多⽰列。 主要功能 Blender是⼀个完整集成的3D创作套件,提供了⼤量的基础⼯具,包括 建 模 、 渲染 、 动画 & 绑定 、 视频编辑 、 视觉效果 、 合成 、 贴图, 以 及多种类型的 模拟。 跨平台,使⽤了OpenGL的GUI可以在所有主流平台上都表现出⼀致的显 ⽰效果(并且可通过Python脚本来⾃定义界⾯)。 ⾼质量的3D架构,带来了快速且⾼效的⼯作流。 它有着活跃的社区⽀持, blender 制、 流体粒⼦、 代理对象、 序列编辑器的重写,和后期 UV 贴图绘画。 2.44 -- 2007年5⽉: ⼤新闻,除了两个新的修改器和重新启动的 64 位操作系统⽀持外,增加了 次表⾯散射,模拟⽣物和软物体表⾯的光散射。 2.45 -- 2007年9⽉: 重⼤bug修复,解决了⼀些性能问题。 2.46 -- 2008年5⽉: 桃项⽬发布,⼤约70名开发⼈员对这块进⾏了⼤量的开发⼯作。提供了⽑0 码力 | 4850 页 | 304.16 MB | 1 年前3Blender v3.3 参考手册(简体中文版)
视觉效果 材质 动画 模式 动画 & 绑定 简介 关键帧 ⾻架 晶格 约束 动作 驱动程序 标记 形态键 运动路径 物理 简介 刚体 布料 软体 流体 粒⼦系统 动态绘画 ⼒场 碰撞 烘焙物理模拟 渲染 简介 Eevee Cycles ⼯作台 摄像机 灯光 材质 着⾊节点 ⾊彩管理 Freestyle 层 & 通道 渲染输出 合成 简介 侧栏 节点类型 运动跟踪 & 遮罩 简介 examples. 主要功能 Blender是⼀个完整集成的3D创作套件,提供了⼤量的基础⼯具,包括 建 模 、 渲染 、 动画 & 绑定 、 视频编辑 、 视觉效果 、 合成 、 贴图, 以 及多种类型的 模拟。 跨平台,使⽤了OpenGL的GUI可以在所有主流平台上都表现出⼀致的显 ⽰效果(并且可通过Python脚本来⾃定义界⾯)。 ⾼质量的3D架构,带来了快速且⾼效的⼯作流。 它有着活跃的社区⽀持, blender 制、 流体粒⼦、 代理对象、 序列编辑器的重写,和后期 UV 贴图绘画。 2.44 -- May 2007: ⼤新闻,除了两个新的修改器和重新启动的 64 位操作系统⽀持外,增加了 次表⾯散射,模拟⽣物和软物体表⾯的光散射。 2.45 -- September 2007: 重⼤bug修复,解决了⼀些性能问题。 2.46 -- 2008年5⽉: 桃项⽬发布,⼤约70名开发⼈员对这块进⾏了⼤量的开发⼯作。提供了⽑0 码力 | 4560 页 | 265.10 MB | 1 年前3
共 419 条
- 1
- 2
- 3
- 4
- 5
- 6
- 42