举例

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中。
以此类推…

不要忘记,指令和数据都要存放在存储器中,那么自然而然就会想到:存储器的结构应该是什么样的?又该怎么访问?每次访问获得多少数据?等等。

计算机运行简单程序的过程相关推荐

  1. Linux中的mate程序的进程,终端下以后台模式运行Linux程序的过程详解

    这是一个简短但是非常有用的教程:它向你展示从终端运行Linux应用程序的同时,如何保证终端仍然可以操作. 在Linux中有许多方式可以打开一个终端,这主要取决于你的发行版的选择和桌面环境. Linux ...

  2. 在此计算机运行应用程序灰色,手把手教你解决win10系统自带应用呈灰色无法打开的处理教程...

    我们在使用win10系统的过程中,经常需要对win10系统自带应用呈灰色无法打开的情况,想必大家都遇到过win10系统自带应用呈灰色无法打开的情况吧,那么应该怎么处理win10系统自带应用呈灰色无法打 ...

  3. Linux 程序编译过程

    前言 计算机程序设计语言通常分为机器语言,汇编语言和高级语言三类.而高级语言需要被翻译成机器语言才可以被执行,而翻译的方式也被分为两种,一种是编译型,另一种为解释型,根据这两种的不同,我们将其分为编译 ...

  4. 挂起计算机重新启动,SSMS 安装失败 挂起的重启正在阻止完成安装过程。请重启计算机并再次运行安装程序。...

    [2E70:2C78] [2018-06-01T03:59:27] i001:Burn v3.8.1128.0,Windows v6.3(Build 9600:Service Pack 0),路径:E ...

  5. 计算机原理之程序是怎么运行的

     计算机的组成 计算机是由硬件和软件组成的,这两个部分共同协作完成程序的运行.这两部分如何协作完成程序的运行,是本系列的重点. 信息的表示 信息的表示说到底就是位加上下文.举个小例子,比如1101 ...

  6. c语言中 程序各步作用,c程序的上机执行过程_上机运行C程序的步骤与方法

    描述 C语言是在国内外广泛使用的一种计算机语言.C语言功能丰富.表达能力强.使用灵活方便.应用面广.目标程序效率高.可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写软件. ...

  7. 计算机运行命令如何关闭应用程序,如何禁止电脑中某些程序的运行

    windows并没有一个简单的软件,能禁止那些不想让别人使用的程序,但是它本身有这个功能的,要做到也不难.那就是启用"不要运行指定的Windows应用程序"策略 .在组策略中有一条 ...

  8. 计算机启动时最先运行的程序储存在,2012年自考计算机应用基础试题及答案

    计算机应用基础试题答案 第二部分 非选择题 第一部分 选择题 2012年自考计算机应用基础重点部分试题及答案 一.单项选择题(本大题共40小题,每小题1分,共40分)在每小题列出的四个选项中只有一个选 ...

  9. 编译html成qch,在应用程序编译过程中运行qcollectiongenerator

    我一直在研究一个名为RoboJournal的程序很长一段时间.下一版本包含完整的文档;每当用户按F1或单击RoboJournal程序中的帮助项目时,帮助文件将显示在Qt助手中(比简单地打开浏览器窗口以 ...

最新文章

  1. 【机器学习基础】Self-Supervised Learning入门介绍
  2. 计算机网络实验11.6.1,6.111 2004春季课程:数位系统概论实验(Introductory Digital Systems Laboratory, Spring 2004)...
  3. P5273 【模板】多项式幂函数 (加强版)
  4. 使用Payara Micro的Easy Java EE Microservices
  5. flask bootstrap ajax,使用Flask集成bootstrap的方法
  6. Cloud一分钟 |亚马逊市值被微软反超;GKE全球大宕机长达19小时;苹果市值跌破9000亿美元...
  7. Pytorch常用技巧记录
  8. 词法分析之LED文件批量生成
  9. 学计算机需要会拼音吗,计算机学习拼音
  10. 如何修复win7蓝牙服务器,win7系统查看蓝牙的修复办法
  11. android声波通信demo,Android声波通信改进版
  12. 地质大学计算机学院实验室,中国地质大学
  13. k8s的namespace资源一直terminating问题解决
  14. 京东JDK在大数据平台的探索与研究
  15. 华为ensp---AC三层旁挂组网实验(参照华为官方手册)
  16. Android开发初体验
  17. Python3操作MongoDB数据库
  18. ctfmon 输入法消失了
  19. linux和windows上使用jpype的区别
  20. 侵犯软件著作权罪行为有哪些

热门文章

  1. 速卖通爆款打造方法是什么?分享爆款打造全链路步骤
  2. 【光学】基于Matlab实现双缝干涉实验和牛顿环的实验
  3. 发送验证码倒计时效果实现
  4. Matlab/Admas联合仿真提示 输入位移曲线 输出速度曲线为0的解决方法
  5. 计算机二级常备知识,计算机二级《MS Office高级应用》必备知识点
  6. 数据库管理 第2关:用户2
  7. 基于Java毕业设计学生综合测评系统源码+系统+mysql+lw文档+部署软件
  8. BugkuCTF: 啊哒
  9. 单调性约束与反单调性约束的区别 monotonicity and anti-monotonicity constraint
  10. 华为ocean系列服务器,华为OceanStor Dorado V3全闪存存储系统-华为产品