计算机软件通常分为:系统软件和应用软件。
系统软件包括:标准程序库、语言处理程序、操作系统、服务程序、数据库管理系统、网络软件等。
应用软件包括:科学计算程序、数据处理程序、过程控制程序、事务管理程序等。
直接执行机器语言的机器称为实际机器M1。
汇编语言执行流程:将汇编语言程序翻译成机器语言程序,翻译过程是由机器系统软件中的汇编程序来完成的。
高级语言执行流程:将高级语言程序翻译成汇编语言程序,这些工作是由虚拟机器M3来完成的。
将高级语言程序翻译成机器语言程序的软件称为翻译程序。
翻译程序有两种:
1、编译程序:是将用户编写的高级语言程序(源程序)的全部语句一次性全部翻译成机器语言程序,而后再执行机器语言程序。
2、解释程序:是将源程序的一条语句翻译成对应的机器语言的一条语句,并且立即执行这条语句。
微程序机器M0可以看做是对实际机器M1的分解。
实际上实际机器M1和虚拟机器M2之间还有一级虚拟机器,它是由操作系统软件构成的。
计算机体系结构与计算机组成。
计算机体系结构指那些能够被程序员所见的计算机系统的属性,即概念性的结构与功能特性。包括:指令集、数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。
计算机组成是指如何实现计算机体系结构所体现的属性。包括:如何取指令、分析指令、取操作数、运算、送结果等。
冯-诺依曼计算机的特点:计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
运算器和存储器合起来统称中央处理器(CPU)。
主存储器(简称主存或内存)包括存储体M、各种逻辑部件及控制电路等。
存储体由许多存储单元组成,每个存储单元包含若干个存储元件,每个存储元件能寄存一位二进制代码0或1,一个存储单元可存储的一串二进制代码的位数称为存储资产。
主存中必须配置两个寄存器MAR和MDR。
MAR:存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数。
MDR:存储器数据寄存器,用来存放从存储单元取出的代码或准备存入存储单元的代码,其位数与存储字长相等。
运算器最少包括3个寄存器和一个算术逻辑单元。
ACC累加器、MQ乘商寄存器、X操作数寄存器。
控制器是计算机的神经中枢。
命令存储器读出一条指令,称为取指过程。
对指令分析,称为分析过程。
完成操作,称为执行过程。
控制器由程序计数器(PC)、指令寄存器(IR)及控制单元(CU)组成。
PC用来存放当前欲执行指令的地址:它与MAR之间有一条通路。
IR用来存放当前的指令,IR的内容来自主存的MDR。
机器字长是指CPU一次能处理的数据的位数,通常与CPU的寄存器位数有关。
存储容量包括主存容量和辅存容量。
主存容量 = 存储单元的个数 * 存储字长
MAR的位数反应了存储单元的个数,MDR的位数反应了存储字长。