计算机运行简单程序的过程
举例
ax2+bx+c
操作数:运算中,一个保存在累加器中,另一个来自主存储器
用到的指令:加法指令、乘法指令、取数指令、存数指令、打印指令、停机指令
过程:
假设a、b、c、x都存放在了主存储器中
①取x至运算器的累加器中
②取内存中的数据乘以x,存放在累加器中,得到x2
③乘以a,存放在累加器中,得到ax2
④利用存数指令,将ax2存放在存储器中
⑤利用取数指令,将b放到运算器中
⑥乘以x,存放到运算器中,得到bx
⑦加ax2,放在运算器中,得到ax2+bx
⑧加c在运算器中
将式子变形:(ax+b)x+c
①取x至运算器的累加器中
②乘以a在运算器中
③加b在运算器中
④乘以x在运算器中
⑤加c在运算器中
用指令表示
指令格式:
指令=操作码+地址码
取数指令如下:
ACC代表累加器
[ ]代表寄存器中的内容,内存单元的内容
“000001”(前6位)代表操作码,要做什么操作(加减乘除等)
“0000001000”(后10位)代表地址码,数据在哪个内存单元中
上图指令同样也是二进制形式(未表示出来),同样是 “操作码+地址码” 的形式
那么上面的例子就可以用指令来表示:
第一列:
指令、数据在主存单元的地址。
这正是冯·诺依曼计算机的特点,指令和数据以同等地位存放在存储单元中。
第二列:
0~7行,代表指令,8-11代表数据,12行存放结果。无论是指令、数据还是结果,都是用二进制表示。
过程:
第0行,000001取数指令,地址0000001000(为十进制数8)。也就是在地址8(对应第8行)找到数据x放到ACC中。
第1行,000100乘法指令,要乘的数据在0000001001(十进制数9)。也就是去地址9(对应第9行)找到a做乘法操作,存于ACC中。
以此类推…
不要忘记,指令和数据都要存放在存储器中,那么自然而然就会想到:存储器的结构应该是什么样的?又该怎么访问?每次访问获得多少数据?等等。
计算机运行简单程序的过程相关推荐
- Linux中的mate程序的进程,终端下以后台模式运行Linux程序的过程详解
这是一个简短但是非常有用的教程:它向你展示从终端运行Linux应用程序的同时,如何保证终端仍然可以操作. 在Linux中有许多方式可以打开一个终端,这主要取决于你的发行版的选择和桌面环境. Linux ...
- 在此计算机运行应用程序灰色,手把手教你解决win10系统自带应用呈灰色无法打开的处理教程...
我们在使用win10系统的过程中,经常需要对win10系统自带应用呈灰色无法打开的情况,想必大家都遇到过win10系统自带应用呈灰色无法打开的情况吧,那么应该怎么处理win10系统自带应用呈灰色无法打 ...
- Linux 程序编译过程
前言 计算机程序设计语言通常分为机器语言,汇编语言和高级语言三类.而高级语言需要被翻译成机器语言才可以被执行,而翻译的方式也被分为两种,一种是编译型,另一种为解释型,根据这两种的不同,我们将其分为编译 ...
- 挂起计算机重新启动,SSMS 安装失败 挂起的重启正在阻止完成安装过程。请重启计算机并再次运行安装程序。...
[2E70:2C78] [2018-06-01T03:59:27] i001:Burn v3.8.1128.0,Windows v6.3(Build 9600:Service Pack 0),路径:E ...
- 计算机原理之程序是怎么运行的
计算机的组成 计算机是由硬件和软件组成的,这两个部分共同协作完成程序的运行.这两部分如何协作完成程序的运行,是本系列的重点. 信息的表示 信息的表示说到底就是位加上下文.举个小例子,比如1101 ...
- c语言中 程序各步作用,c程序的上机执行过程_上机运行C程序的步骤与方法
描述 C语言是在国内外广泛使用的一种计算机语言.C语言功能丰富.表达能力强.使用灵活方便.应用面广.目标程序效率高.可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写软件. ...
- 计算机运行命令如何关闭应用程序,如何禁止电脑中某些程序的运行
windows并没有一个简单的软件,能禁止那些不想让别人使用的程序,但是它本身有这个功能的,要做到也不难.那就是启用"不要运行指定的Windows应用程序"策略 .在组策略中有一条 ...
- 计算机启动时最先运行的程序储存在,2012年自考计算机应用基础试题及答案
计算机应用基础试题答案 第二部分 非选择题 第一部分 选择题 2012年自考计算机应用基础重点部分试题及答案 一.单项选择题(本大题共40小题,每小题1分,共40分)在每小题列出的四个选项中只有一个选 ...
- 编译html成qch,在应用程序编译过程中运行qcollectiongenerator
我一直在研究一个名为RoboJournal的程序很长一段时间.下一版本包含完整的文档;每当用户按F1或单击RoboJournal程序中的帮助项目时,帮助文件将显示在Qt助手中(比简单地打开浏览器窗口以 ...
最新文章
- 【机器学习基础】Self-Supervised Learning入门介绍
- 计算机网络实验11.6.1,6.111 2004春季课程:数位系统概论实验(Introductory Digital Systems Laboratory, Spring 2004)...
- P5273 【模板】多项式幂函数 (加强版)
- 使用Payara Micro的Easy Java EE Microservices
- flask bootstrap ajax,使用Flask集成bootstrap的方法
- Cloud一分钟 |亚马逊市值被微软反超;GKE全球大宕机长达19小时;苹果市值跌破9000亿美元...
- Pytorch常用技巧记录
- 词法分析之LED文件批量生成
- 学计算机需要会拼音吗,计算机学习拼音
- 如何修复win7蓝牙服务器,win7系统查看蓝牙的修复办法
- android声波通信demo,Android声波通信改进版
- 地质大学计算机学院实验室,中国地质大学
- k8s的namespace资源一直terminating问题解决
- 京东JDK在大数据平台的探索与研究
- 华为ensp---AC三层旁挂组网实验(参照华为官方手册)
- Android开发初体验
- Python3操作MongoDB数据库
- ctfmon 输入法消失了
- linux和windows上使用jpype的区别
- 侵犯软件著作权罪行为有哪些
热门文章
- 速卖通爆款打造方法是什么?分享爆款打造全链路步骤
- 【光学】基于Matlab实现双缝干涉实验和牛顿环的实验
- 发送验证码倒计时效果实现
- Matlab/Admas联合仿真提示 输入位移曲线 输出速度曲线为0的解决方法
- 计算机二级常备知识,计算机二级《MS Office高级应用》必备知识点
- 数据库管理 第2关:用户2
- 基于Java毕业设计学生综合测评系统源码+系统+mysql+lw文档+部署软件
- BugkuCTF: 啊哒
- 单调性约束与反单调性约束的区别 monotonicity and anti-monotonicity constraint
- 华为ocean系列服务器,华为OceanStor Dorado V3全闪存存储系统-华为产品