当前课程知识点:大学计算机基础 > 第三章 计算机硬件 > 3-11 4位计算机模拟器 > 3-11 4位计算机模拟器
本节我们借助美国三一学院设计
的一个教学用
4位计算机模拟器
理解计算机的基本工作过程
直观认识冯诺依曼体系结构
这是计算机模拟模拟器的
主界面
我们知道计算机的基本组成
包括中央处理器CPU
存储器
输入设备和输出设备
模拟器包含了计算机的基本组成部分
在模拟器中显示器代表输出设备
键盘代表输入设备
RAM是内存
内部存储器
还有CPU
这里只显示了CPU中几个重要
的寄存器
而为了便于理解
模拟器又对计算机进行了简化
CPU的指令集只有9条
基本指令
地址的长度只有4个比特
即用4个比特来表示内存地址
从0000~1111
2的4次方
也就是16个4位的二进制值
只能寻址16个内存单元
每个内存单元存放一个字节
所以这个模拟器叫做4位计算机
模拟器
而我们常用的计算机处理器有
32位的和64位的
32位处理器能寻址的内存空间
是2的32次方
大约4个G。而64位的计算机
能寻址的内存就更大
有2的64次方
下面我们通过一个简单的加法
运算的执行过程
来看一下冯诺依曼体系的计算机
是如何工作的
冯诺依曼体系结构的基本思想是
存储程序和程序控制
首先说一下存储程序的含义
把要执行的指令和待处理的数据
都以二进制的形式存放在内存中
在4位模拟器中内存被分成了
两个部分
从0000到0111这8个
位置存放程序指令
从1000~1111这8个
位置存放数据
CPU通过内存地址读写内存
假设我们要执行的程序是1+2
而且程序已经被转换成了二进制
的机器代码
并且已经被存储在内存中
一共有4条指令
存放在0000到0011的
指令区
操作数1和2
分别被存放在数据区
1000和10001的位置,存放了1和2
冯诺依曼体系结构的程序控制的含义
是计算机在CPU中的控制器
的控制下顺序处理每条指令
每条指令的处理包括取指令
解析指令
执行指令
一条指令处理完
再接着取下一条指令
这样周而复始的工作
下面我们就来看一下指令
的执行过程
CPU的寄存器区有几个重要的
寄存器
寄存器是CPU内临时存放信息
的部件
ICTR是指令计数器
用于跟踪CPU下一条将要执行
的指令的内存地址
IREG是指令寄存器
保存CPU正在执行的指令的二进制码
ACC是累加器用于执行
算术逻辑运算
程序开始执行时
指令计数器指向程序的第1条指令
控制器读取指令计数器
获得要执行的指令的内存地址
是0000
我们单步执行以查看中间过程
首先取指令
内存0000处的指令被读入了
指令寄存器
每条指令由操作码和操作数
两个部分组成
操作码是前4位
操作数是后4位
操作码表示执行何种操作
操作数指出该运算的操作对象
在存储器中的地址
接着CPU解析这条指令
操作码0001
我们查询指令集,表示load的指令
即从内存地址X
读入数据到累加器ACC中
1000是对应的内存地址
接着我们执行指令
可以看到地址1000处存放的数据1
被读入了累加器ACC中
这样一条指令就处理完了
程序指令是顺序执行的
每次读取一条指令后
指令计数器的值会自动加1
指向下一条将要执行的指令
使得程序能够自动执行
现在指令计数器的值是0001
我们执行取指令
内存0001处的指令被读入
到了指令寄存器
同时指令计数器的值又自动加1
解析一下指令
从指令操作码部分0011
我们通过查指令集
该指令是将内存地址X
存放的值和累加器的值相加
我们执行指令
地址1001存放的值是2
和累加器当中的值
1相加
结果是3
仍然存放在累加器当中
CPU就是这样周而复始的工作
每次按指令计数器的值取下一条指令
现在的值是0010
我们执行取指令
地址0010处的指令被读入到指令寄存器当中
接着解析指令
操作码0010表示将累加器ACC的值存入
内存X的位置
我们执行指令
累加器ACC的值是三
被存放到内存1010的位置
1010
现在存放了值3
取下一条指令
即地址0011处的指令
读入指令寄存器
接着解析指令
我们查看操作码1000
表示将内存X
的值输出到显示器当中
我们执行指令
看到显示器上打印出了运行的结果
3
取下一条指令
即0100处的指令
被读入到指令寄存器
解析指令
0000的含义是表示"Do Nothing"
表示程序停止
我们执行指令,程序执行到此结束
最后我们总结一下这一小节
我们以两个整数的相加为例
演示了冯诺依曼计算机的工作过程
谢谢观看
-1-1 计算机的诞生
--第一章 习题1
--计算机的诞生1
--计算机的诞生2
-1-2 计算机的分类
--第一章 习题2
--计算机的分类
-1-3 计算机的应用领域
--第一章 习题3
-1-4 计算机系统组成
--第一章 习题4
--计算机系统组成1
--计算机系统组成2
-1-5 计算机思维的定义
--第一章 习题5
--计算思维1
-1-6 计算思维的特点
--第一章 习题6
--计算思维2
-1-7 计算思维的应用案例
--第一章 习题7
--计算思维3
-第一章 章测试
-2-1 进位计数制表示方法
--第二章 习题1
-2-2 进位计数制的相互转换
--第二章 习题2
--进位计数制2
-2-3 整数的表示方法
--第二章 习题3
--整数的表示1
-2-4 浮点数表示方法
--第二章 习题4
--浮点数的表示1
-2-5 BCD格式表示法
--第二章 习题5
--BCD码
-2-6 算术运算
--2-6 算术运算
--第二章 习题6
-2-7 运算溢出及判断
--第二章 习题7
--运算的溢出
-2-8 逻辑运算
--2-8 逻辑运算
--第二章 习题8
--逻辑运算
-2-9 ASCII编码
--第二章 习题9
-2-10 Unicode编码
--第二章 习题10
-2-11汉字编码
--2-11汉字编码
--第二章 习题11
--汉字编码
-2-12数据校验编码
--第二章 习题12
--数据校验编码
-第二章 章测试
-3-1中央处理器
--3-1中央处理器
--第三章 习题1
--中央处理器
-3-2 存储器
--3-2 存储器
--第三章 习题2
--存储器1
--存储器2
--存储器3
-3-3 总线和接口
--第三章 习题3
--总线
-3-4 外部设备
--3-4 外部设备
--第三章 习题4
--外部设备
-3-5 冯.诺依曼体系结构
--第三章 习题5
-3-6 计算机常用性能指标
--第三章 习题6
--性能指标1
--性能指标2
-3-7嵌入式系统
--第三章 习题7
--嵌入式系统
-3-8哈佛体系结构
--第三章 习题8
--哈佛体系结构
-3-9 DSP简介
--3-9DSP简介
--第三章 习题9
--DSP
-3-10 虚拟台式计算机模拟器
--虚拟桌面架构
-3-11 4位计算机模拟器
-第三章 章测试
-4-1计算机软件分类
--第四章 习题1
--软件分类
-4-2软件的工作模式
--第四章 习题2
--软件的工作模式
-4-3软件的安装方法
--第四章 习题3
--软件安装
-4-4计算机软件生命周期
--第四章 习题4
--生命周期1
--生命周期2
--生命周期3
--软件测试1
--软件测试2
-4-5计算机软件开发过程模型
--第四章 习题5
- 4-6 常用软件介绍-办公软件
--第四章 习题6
-办公软件实例1 文字处理软件
-办公软件实例2 电子表格软件
-办公软件实例3 演示文稿软件
-4-7 常用软件介绍-多媒体创作软件
--第四章 习题7
-多媒体创作软件实例1 音频处理软件
-多媒体创作软件实例2 图像处理软件
-多媒体创作软件实例3 动画制作软件
-多媒体创作软件实例4 视频处理软件
-4-8 常用软件介绍-网页制作软件
--第四章 习题8
-第四章 章测试
-5-1 操作系统概述
--第五章 习题1
--操作系统
--操作系统分类
--操作系统管理
-5-2 Windows 7基本操作
--第五章 习题2
-5-3 Windows 7文件管理
--第五章 习题3
-5-4 Windows 7程序管理
--第五章 习题4
-5-5 Windows 7系统安全
--第五章 习题5
--操作系统安全
-5-6 Windows 7计算机管理
--第五章 习题6
-5-7 Dos命令
--第五章 习题7
--dos
-5-8 Windows 7常用软件
--第五章 习题8
-5-9 Linux操作系统
--第五章 习题9
--Linux
-5-10 手机操作系统
--第五章 习题10
-5-11 虚拟机及Vmware介绍
--第五章 习题11
--虚拟机
--虚拟机使用
-第五章 章测试
-6-1 算法基础
--6-1 算法基础
--第六章 习题1
-6-2 程序设计语言分类
--第六章 习题2
-6-3 程序设计过程
--第六章 习题3
-6-4 程序设计方法
--第六章 习题4
-6-5 程序设计语言基本要素(一)
--第六章 习题5
-6-6 程序设计语言基本要素(二)
--第六章 习题6
-6-7 Python简介及编程环境配置
--第六章 习题7
-6-8 程序设计应用举例
--第六章 习题8
-第六章 章测验
-7-1 数据库技术概述
--第七章 习题1
--信息和数据
-7-2 数据库管理系统
--第七章 习题2
--数据库管理系统
-7-3 数据库系统的组成与功能
--第七章 习题3
--独立性
--数据库系统分类
-7-4 关系模型的数据结构
--第七章 习题4
--E-R图
--三级模式结构
-7-5 关系模型的数据操作及完整性约束
--第七章 习题5
--关系模型
--数据库范式
--完整性约束
-7-6 Access数据库的建立
--第七章 习题6
--Access
-7-7 Access的数据查询
--第七章 习题7
-第七章 章测试
-8-1计算机网络概述
--第八章 习题1
--定义
-8-2网络分类
--8-2网络分类
--第八章 习题2
--分类
-8-3数据传输
--8-3数据传输
--第八章 习题3
--数据传输
-8-4网络拓扑结构
--第八章 习题4
--网络拓扑结构
-8-5网络体系结构
--第八章 习题5
--网络体系结构
-8-6网络互连
--8-6网络互连
--第八章 习题6
--网络互连
-8-7Internet基础:TCP╱IP协议结构
--第八章 习题7
--TCP/IP模型
--IP协议
-8-8Internet基础:IP地址
--第八章 习题8
--IP地址
-8-9Internet基础:域名系统
--第八章 习题9
--域名
-8-10Internet基础:Internet的基本服务
--8-10Internet基础:Internet的基本服务
--第八章 习题10
--Internet
-8-11Internet基础:Internet的接入
--第八章 习题11
-第八章 章测试
-9-1信息安全的基本概念
--第九章 习题1
--信息安全的CIA
--攻击与防御
-9-2 密码技术及应用
--第九章 习题2
--数字签名
-9-3防火墙技术
--9-3防火墙技术
--第九章 习题3
--防火墙的分类
--防火墙的基本特性
-9-4恶意软件
--9-4恶意软件
--第九章 习题4
--恶意软件类型
-9-5入侵检测技术
--第九章 习题5
--入侵检测概念原理
--入侵检测分类
-第九章 章测试
-10-1 云计算
--10-1 云计算
--第十章 习题1
-10-2大数据
--10-2大数据
--第十章 习题2
-10-3物联网
--10-3物联网
--第十章 习题3
-10-4机器学习
--10-4机器学习
--第十章 习题4
-10-5人工智能
--10-5人工智能
--第十章 习题5
-10-6物联网应用
-第十章 章测验
-1-0 准备步骤
--1-0 准备步骤
-1-1 台式机组装
-1-2 笔记本电脑组装
-3-1 启动和退出Word
-3-2 创建、编辑和保存Word文档
-3-3 封面的制作
--封面的制作-1
--封面的制作-2
--封面的制作-3
--封面的制作-4
-3-4 长文档编辑
--长文档编辑
-3-5 页面插入与目录
-3-6 页眉页脚与页码
-3-7 完成文档
-4-1 创建和编辑Excel表格
-4-2 简单公式和函数
-4-3 插入图表
--4-3 插入图表
-4-4 电子表格中数据的管理
-5-1 创建演示文稿与添加幻灯片
-5-2 编辑演示文稿
-5-3 设置演示文稿外观
-5-4 交互式演示文稿的设置
-5-5 设置演示文稿动画和音乐
-5-6 演示文稿放映
-6-1 图像的修饰
-6-2 淡黄色的记忆
-6-3 心形贺卡
--6-3 心形贺卡
-6-4 燃烧字
--6-4 燃烧字
-6-5 闻味的小狗狗
-6-6 换脸
--6-6 换脸
-7-1 逐帧动画的制作
-7-2 动作补间动画的制作
-7-3 形状补间动画的制作
-8-1 网站制作前期工作
-8-2 在Dreamweaver中建立和管理站点
-8-3设计制作网站主页
-8-4 制作网站导航栏
-8-5 修饰美化页面
-8-6 填写页面内容
-8-7 设计制作次级页面并建立链接
-9-1 Python的下载
-9-2 Python的安装
-9-3 IDLE的使用
-9-4 求矩形的周长和面积
-9-5 求三角形的面积
-9-6 求素数
--9-6 求素数
-10-1 数据库的建立
-10-2 SQL的应用
-11-1 Packet Tracer简介及下载方法
-11-2 有线网络的组网与配置
-11-3 无线网络的组网及无线路由配置
-12 无线网络安全配置