1.1 电子计算机与存储程序控制
电子计算机是不需要人工直接干预,能够自动、高速、准确地对各种信息进行处理和存储的电子设备。总体上可以被分为两类
- 电子模拟计算机: 处理的信息是连续变化的物理量,运算过程也是连续的
- 电子数字计算机: 处理在时间上离散的数字两,运算的过程不连续
通常所说的计算机都是值电子数字计算机
1.1.1 电子计算机发展
- 计算机的发展历史
- 第一代,1946-1958年,电子管计算机
- 第二代,1958-1964年,晶体管计算机
- 第三代,1964-1971年,小、中规模集成电路(SSI,MSI)计算机
- 第四代,1971-今天,大、超大规模继承电路(LSI,VLSI)计算机
- 发展趋势
- 微型计算机: 向更微型化、网络化、高性能、多用途方向发展
- 巨型机:向更巨型化、超高速、并行处理、只能化方向发展
1.1.2 存储程序概念
世界上第一台电子数字计算机是1946年2月在美国宾夕法尼亚大学诞生的ENIAC(ELectronic Numerical Integrator and Computer)。在研制ENIAC的同时,以美籍匈牙利数学家冯
·诺伊曼(John von Neumann)为首的研究小组提出了"存储程序控制"的计算机结构,并研制了EDVAC(ELectronic Variable Automatic Computer)。EDSAC(ELectronic Delay
Storage Automatic Computer)吸收了冯·诺伊曼的设计思想成为事实上的第一台存储程序的计算机
- 存储程序概念
- 1、计算机硬件应由运算器、存储器、控制器、输入设备和输出设备5大基本部件组成
- 2、计算机内部采用二进制来表示指令和数据
- 3、将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作
1.2 计算机的硬件组成
通常将运算器和控制器合称为中央处理器(Central Processing Unit,CPU)。在由超大规模集成电路构成的微型计算机中,往往将CPU制成一块芯片,称为微处理器
中央处理器和主存储器(内存储器)一起组成主机部分。除去主机以外的硬件装置(如输入设备、输出设备和辅助存储器等)称为外围设备或外部设备
1.2.1 计算机的主要部件
1. 输入设备
输入设备的任务是将人编好的程序和原始数据送到计算机中去,并将它们转换成计算机内部所能识别和接受的信息方式
2. 输出设备
将计算机处理的处理结果输出出来的设备
3. 存储器
计算机能够实现“程序控制的基础”
4. 运算器
对信息进行处理和运算的部件经常进行的运算是算术运算和逻辑运算,所以运算器又称为算术逻辑运算部件(Arithmetic and Logical Unit,ALU)
运算器的核心是加法器。运算器中还有若干通用寄存器或累加寄存器,用来暂存操作数并存放运算结果
5. 控制器
控制器是整个计算机的指挥中心,它的主要功能是控制整个计算机的各个部件有条不紊地自动工作
1.2.2 计算机各大部件之间连接
1. 总线结构
所谓总线(Bus)是一组能为多个部件服务的公共信息传诵线路,它能分时地发送与接受各部件的信息
- 总线的结构
- 地址总线(Address Bus): 用于寻址
- 数据总线(Data Bus): CPU可沿这些线从主存或外设读入数据,也可以向主存和外设送出数据
- 控制总线(Control Bus): 传输控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号
1.2.3 不同对象观察到的计算机硬件系统
计算机设计者观察到的计算机硬件系统
1.2.4 冯·诺伊曼结构和哈佛结构的存储器设计思想
- 冯·诺伊曼结构
-
哈坲结构
timg.jpeg
目前许多现代微型计算机中的高速缓冲存储器使用(Catche)采用哈佛结构,而主存采用冯·诺伊曼结构
1.3 计算机系统
一个完整的计算机系统包含硬件系统和软件系统两个部分
- 硬件:设备实体
- 软件:泛指各类程序和文件
1.3.1 硬件与软件的关系
软件与硬件是相辅相成、不可分割的整体
- 硬件软化:将原来由硬件实现的功能交由软件模拟来实现 以增强系统功能
- 软件硬化:将由来由软件实现的功能交由硬件来实现 以显著降低软件在时间上的开销
- 固件:固件是指那些存储在能永久保存信息的器件(如ROM)中的程序,是具有软件功能的硬件。固件的性能介于软件和硬件之间,吸收了软、硬件各自的优点,其执行速度快于软件,灵活性优于硬件是软、硬件结合的产物
1.3.2 系列机和软件兼容
- 系列机:指一个厂家生产的,具有相同的系统结构的一系列不同型号的机器
- 兼容
- 向上(下)兼容:按某档次编制的程序,不加修改就能运行在比它更高(低)档的机器上
- 向前(后)兼容:某个时期投入市场的某种型号机器编制的程序,不加修改就能运行在它之前(后)投入市场的机器上
系列机的软件向下和向前兼容可以不作要求,但必须保证向后兼容,力争做到向上兼容
1.3.3 计算机系统的多层次结构
- 第一级是微程序级:这级的机器语言是微指令编写的微指令编写的微程序一般是直接由硬件执行的
- 第二级是传统机器级:这级的机器语言是该机的指令集,用机器指令编写的程序由微程序进行解释
- 第三级是操作系统级:直接管理传统机器的软硬件资源,另一方面又是传统机器的延伸
- 第四级是汇编语言级
- 第五级是高级语言级
- 第六级是应用语言级
1.4 计算机的工作过程和主要性能指标
1.4.2 计算机的主要性能指标
1. 机器字长
机器字长是指参与运算的基本位数,它是由加法器、寄存器的位数决定的,所以机器字长一般等于寄存器的大小。字长标志着精度,字长越长,计算的精度就越高2. 数据通路宽度
数据通路的宽度(这里指外部数据总线的宽度):数据总线一次所能传送信息的位数
它影响到了信息的传送能力,从而影响计算机的有效处理速度3. 主存容量
一个主存储器所能存储的信息量称为主存容量-
4. 运算速度
- (1) 吞吐量和响应时间
- 吞吐量是指系统在单位时间内处理请求的数量
- 响应时间是指系统对请求作出响应的时间,包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、I/O操作、操作系统开销等时间)的总和
- (2) 主频和CPU时钟周期
- 主频:主频又称为时钟频率,表示在CPU内数字脉冲信号振荡的速度 以若干周期每秒来度量
- CPU时钟周期:主频的倒数就是时钟周期,这是CPU中最小的时间元素。每个动作至少需要一个时钟周期
- (3) CPI和IPC
- CPI(Cycles per Instruction):是指每条指令执行所用的时钟周期
- IPC(Instructions per Cycle):在现代高性能计算机中,由于采用各种并行技术,使指令执行高度并行化,常常是一个系统时钟周期内可以处理若干条指令,所以CPI参数经常用IPC(Instructions per cycle)表示
- (4) CPU执行时间
- (5) MIPS和MFLOPS
- MIPS(Million Instructions per Second)表示每秒执行多少百万条指令。对于一个给定的程序,MIPS定义为:
- MFLOPS(Million Instructions per Second)表示每秒执行多少百万次浮点运算。对于一个给定的程序,MFLOPS定义为
- MIPS(Million Instructions per Second)表示每秒执行多少百万条指令。对于一个给定的程序,MIPS定义为:
- (1) 吞吐量和响应时间