存储程序:必须将事先编好的程序和原始数据送入主存后才能执行程序,一旦程序被启动执行,计算机能在不需操作人员干预下自动完成逐条取出指令并执行任务。
摩尔定律:每过18个月,半导体集成电路的集成度将翻一番,速度提高一,倍价格降低一半。
计算机的发展:电子管计算机,晶体管计算机,集成电路计算机,超大规模集成电路计算机。
计算机系统由硬件和软件两部分组成。硬件是具体物理装置的总称,软件包括运行在硬件上的程序和数据以及相关的文档。
程序是指挥计算机如何操作的指令序列,数据是指令操作的对象。
计算机体系结构:
1.采用存储程序工作方式。
2.计算机由运算器、控制器、存储器、输入设备和输出设备组成。
3.存储器不仅能存放数据,而且还能存放指令,形式上数据和指令没有区别,但计算机应能区分它们;控制器能控制指令的自动执行;运算器能进行加、减、乘、除和逻辑运算;操作人员通过输入输出设备使用计算机。
4.计算机内部以二进制形式表示指令和数据;每条指令由操作码和地址码组成,操作码指出操作类型,地址码指出操作数的地址;一串指令组成程序。
计算机硬件
计算机硬件主要包括中央处理器、存储器、I/O控制器、外部设备和各类总线。
中央处理器是整个计算机的核心部件,主要用于指令的执行。CPU主要包含两种基本部件:数据通路和控制器。数据通路主要包含算数逻辑部件和通用寄存器,用来执行算术和逻辑运算。控制器用来对指令进行译码,生成相应的控制信号,以控制数据通路进行正确的操作。
存储器分为内存和外存,内存包括主存储器和高速缓存。外存包括辅助存储器和海量后背存储器。
外部设备简称外设,通常由机械部分和电子部分组成。机械部分是外部设备本身,电子部分则是控制外部设备的I/O控制器或I/O适配器。
总线是传输信息的介质,用于在部件之间传输信息。
编程语言
机器语言:用二进制进行编码的机器指令,每条机器指令都是一个0/1序列。
汇编语言:用简短的英文符号和二进制代码建立对应关系,方便程序员编写和阅读机器语言程序,这种语言被称为汇编语言。
高级语言:和底层计算机结构关系不大,便于程序员理解的编程语言。
翻译程序可以把一种编程语言表示的程序转换为等价的另一种编程语言程序。被翻译的语言和程序被称为源语言和源程序,翻译成的语言和程序分别被称为目标语言和目标程序。常见的翻译程序有三类:
1.汇编程序(汇编器):用来将汇编语言源程序翻译成机器语言目标程序。
2.解释程序(解释器):用来将源程序中的语句按其执行顺序逐条翻译成机器指令并执行。
3.编译程序(编译器):用来将高级语言源程序翻译成汇编语言或机器语言目标程序。
机器语言程序所运行的计算机硬件和软件之间需要一个桥梁,这就是指令集体系结构(ISA),ISA定义了一台计算机可以执行的所有指令的集合,每条指令规定了计算机执行什么操作,所处理的操作数存放的地址空间以及操作数类型。
ISA是对指令系统的一种规定或结构规范,具体实现的组织称为微体系结构。
计算机系统的不同用户
最终用户:使用应用程序完成特定任务的计算机用户。
系统管理员:利用操作系统等软件提供的功能对系统进行配置、管理和维护,以建立高效合理的系统环境供计算机用户使用的操作人员。
应用程序员:用高级编程语言编制应用软件的程序员。
系统程序员:设计和开发系统软件的程序员。
指令的执行过程
冯·诺依曼结构模型机
CPU和主存之间通过一组总线相连,总线中有地址、控制和数据3组信号线。MAR中的地址信息将会直接送到地址线上;控制线中有读/写信号线,指出数据是从CPU写入主存储器还是从主存储器读出到CPU,根据是读操作还是写操作来控制MDR接收数据线上的数据还是MDR中的数据直接送到数据线上。主存储器用来存储指令和操作数。每个存储单元一个编号,称为地址,通常一个存储单元存放一个字节,每条指令或操作数可能占用多个存储单元,指令的地址和操作数的地址都是指一组连续存储单元中最小的地址。
冯·诺依曼结构采用“存储程序”的工作方式,因此,组成一个程序的指令序列以及程序所处理的操作数都被事先放在主存储器中。程序的第一条指令的地址置于PC中,因此,一旦启动程序执行,CPU就按照以下步骤自动取出程序中的一条一条指令执行:
第一步:根据PC取指令到IR。将PC的内容送至MAR,MAR中的内容直接送到地址线,同时,控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定存储单元开始读出指令,并送到数据线上,MDR从数据线接收指令信息,并传送到IR中。
第二步:指令译码并送出控制信号。控制器根据IR中指令的操作码,生成相应的控制信号,送到不同的执行部件。例如,若IR中的指令是ALU运算指令,则控制信号被送到ALU的操作控制端,以控制ALU将进行什么运算;若IR中的指令是取数或存数指令(lw或sw),则读/写控制信号被送到总线的控制线上。
第三步:取操作数。如果是ALU运算类指令,则根据IR中指定的寄存器编号选择两个或一个寄存器中的内容作为操作数,送到ALU的输入端。
第四步:指令执行。若是ALU运算类指令,则ALU在控制信号的控制下,进行相应的运算,并生成运算结果和相应的标志信息;若是取数/存数指令,则主存在读/写控制信号的控制下,对地址线指定的存储单元进行读/写。
第五步:回写结果。将ALU运算的结果写入指定编号的寄存器或指定的主存单元中。
当一条指令执行结束时,PC中一定时下一条指令的地址。指令的执行有时钟信号进行定时,一条指令的执行可能需要一个或多个时钟周期。
计算机的性能
吞吐量:单位时间内完成的工作量。
响应时间:也称为执行时间或等待时间,是指从作业提交开始到作业完成所用的时间。
CPU使劲按指CPU用于程序执行的时间,包括用户CPU时间(真正用于运行用户程序代码的时间)和系统CPU时间(为了执行用户程序而需要CPU运行操作系统的时间)。
to be continued