一、处理问题的步骤
1、系统分析
需求分析
划分功能模块
了解需存储、处理哪些数据、数据量、调用数据时的流向等
选择硬件平台和软件平台
2、建立数字模型与设计算法
处理问题和求解的方法统称为算法。
算法的具体含义就是处理各种问题的方法,如数学计算、信息处理、检索方法、调度策略、逻辑判断,等等。
如果需要处理的问题比较复杂,包含多项分析、计算,或多种类型的数据信息,就需要建立相应的数学模型。
3、编写应用程序
在建立数学模型与设计算法之后,关键的技术问题已基本解决,这时就可以选择合适的程序设计语言和开发工具,着手编写应用程序。然后相应的调试环境下进行调试和修改。
4、编写为目标代码
源程序输入计算机后,调用相应的编译程序进行编译,形成用机器代码表示的目标程序(目标代码)。
如果需要多次使用,可以将它们作为独立的文件保存,并冠以文件名,以便今后直接使用。
5、由硬件执行目标程序
将目标程序存储在磁盘中,用户需执行时给出文件名,操作系统按文件名调出目标程序并送入主存,然后将它们在主存中的首址送入程序计数器PC之中,从该地址开始依序执行目标程序。
二、指令执行过程
1、取指令与指令分析
CUP中有一个程序计数器PC,它存放着当前指令所在主存单元的地址码。
读取指令时,先将PC的内容送入主存储器的地址寄存器中,据此访问主存单元,从中读出指令,送入指令寄存器IR。
一条指令代码可能分别放在几个地址连续的主存单元中,每读出一个单元的指令代码,PC内容就加了1,如果这条指令占n个主存单元,那么在该指令都读取后,PC内容就加了n,这时PC指示的就是下一条指令所在的主存的位置。
当指令代码读入到IR之后,相应的逻辑电路(指令译码器)就自动地分析:这是一条什么指令?有关操作数存于何处?控制器分步发出微操作命令,以实现该指令的功能。
2、读取操作数
源操作数:将指令提供的操作数地址码送入主存的地址寄存器,从该存储单元读出一个操作数,送入CPU中的一个暂存器。从主存中读出的信息具有复制性质,不影响原来的内容。
目的操作数:一个操作数存放在CPU的AX寄存器中,运算后AX改存运算结果,原来的操作数不再保留。AX寄存器既是一个操作数的来源地,又是存放运算结果的目的地。
3、运算
如加法运算指令ADD:将已从主存单元读出的源操作数和AX中的目的操作数都送往运算器相加,然后将运算结果送回到AX寄存器。
4、后继指令地址
读取指令时PC的内容已自动修改,所以PC修改后的内容就是后继指令地址,即下一条待执行指令所在存储单元的地址。