1.1计算机发展历程
1.1.1 计算机硬件的发展
1.计算机的四代变化
- 第一代计算机(1946—1957 年)—— 电子管时代
- 第二代计算机(1928—1956 年)—— 晶体管时代
- 第三代计算机(1965—1971 年)——中小规模集成电路时代
- 第四代计算机(1972—现在)——超大规模集成电路时代
2.计算机元件的更新换代
- 摩尔定律。当价格不变时,集成电路上可以容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。
- 半导体存储器的发展
- 微处理器的发展
1.1.2 计算机软件的发展
1.1.3 计算机的分类与发展
电子计算机可以分为电子模拟计算机和电子数字计算机
数字计算机又可按用途分为专用计算机和通用计算机
通用计算机又分为巨型机、大型机、中型机、小型机、微型机、单片机
此外,计算机按指令和数据流还可分为:
- 单指令流和单数据流系统(SISD),也即传统的冯诺依曼体系结构
- 单指令流和多数据流系统(SIMD),包括阵列处理器和向量处理器系统
- 多指令流和单数据流系统(MISD),不存在
- 多指令流和多数据流系统(MIMD),包括多处理器和计算机系统
1.2计算机系统层次结构
1.2.1 计算机系统的组成
对于某一功能来说,其即可以用软件实现,也可以用硬件实现,则称为软硬件在逻辑上是等效的
1.2.2 计算机硬件的基本组成
1. 早期的冯诺依曼机
冯诺依曼在研究EDVAC机时提出了“存储程序”的概念,在“存储程序”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机都称为冯诺依曼机,其特点如下:
- 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5个大部件组成
- 指令和数据以同等地位存于存储器内,并可按地址寻址
- 指令和数据运用二进制代码表示
- 指令由操作系统和地址码组成,操作系统用来表示操作的性质,地址码用来表示操作数在存储器中的位置
- 指令在存储器内按顺序存放。通常,指令时是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序
- 早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据
图1
现代计算机的组织结构
现代计算机已经发展为以存储器为中心,使I/O操作尽可能要绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率
图二
计算机的功能部件
输入设备
输入设备的主要功能是讲将程序的和数据以机器所能识别和接受的信息形式输入到计算机
输出设备
输出设备的任务就是将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出
存储器
存储器是计算机的存储部件,用来存放程序和数据
存储器分为主存储器和辅助存储器,CPU能直接访问的是主存储器。辅助存储器用于帮助主存储器记忆更多信息,辅助存储器的信息必须调入主存后,才能为CPU所访问。
n位地址 --> 2^n个存储单元
总容量 = 存储单元个数 * 存储字长
主存储器
主存储器的有许多存储单元组成,每个存储单元包含若干个存储元件,每个元件存储一位二进制代码“0”或“1”。故而存储单元可存储一串二进制代码,成称这串代码为存储字,这串代码的位数称为存储字长。存储字长可以是一个字节(8bit)或者字节的偶数倍。
主储存器的工作方式是按存储单元的地址进行存取的,这种存取方式称为按地址存取方式
主储存器的最基本组成。存储体存放二进制信息,地址寄存器(MAR)存放访问地址,经过地址译码后找到所选的存储单元。数据寄存器(MDR)是主存和其他部件的中介机构,用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储操作所需的各种时序信号。
MAR用于寻址,其位数对应着存储单元的个数。
MDR的位数和存储字长相等。
图三
运算器
计算机的执行部件,用于对数据进行加工处理,完成算数运算和逻辑运算。累加器(ACC)、乘商寄存器(MQ)、操作数计算器(X)是必有的。
控制器
计算机的控制中心,由其“指挥”各部件自动协调地进行工作。控制器由程序计数器(PC)、指令寄存器(IR)、控制单元(CU)组成。
现代计算机一般是讲将运算器和控制器集成到同一个芯片上,合称中央处理器,简称CPU。CPU和主存储器共同构成主机,而计算机中除去主机的其他硬件装置统称为外部设备。也就是说,外设主要包括外存和I/O设备。
图四
1.2.3 计算机软件的分类
1. 系统软件和应用软件
系统软件是一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用
应用软件是指用户为解决某个应用领域中的各类问题二而编制的程序。
2.三个级别的语言
- 机器语言
- 汇编语言
- 高级语言
1.2.4 计算机的工作过程
- 把程序和数据装入到主存储器中
- 从程序的起始地址运行到程序中
- 用程序的收地址从存储器中取出的第一条指令,经过译码、执行步骤等控制计算机各功能部件协同运行,完成这条指令功能,并计算下一条指令的地址
- 用新得到的指令地址继续读出第二条指令并执行,知道程序结束为止;每一条指令都是在取指指、译码和执行的循环过程中完成的
1.2.5 计算机系统的多级层次结构
1.3计算机的性能指标
1.3.1 计算机的主要性能指标
- 机器字长:字长越长,数的表示范围越大,计算精度越高。
- 数据通路带宽:数据总线一次能并行传送信息的位数
- 主存容量:主存储器的最大容量。MAR表示单元个数,反映了可寻址的范围;MDR 表示储存长度。总容量 = MAR * MDR。
- 运算速度
- 吞吐量:指系统在单位时间内处理请求的数量
- 响应时间:一个用户向计算机发送请求,系统做出响应并获得它所需的结果的时间
- CPU时钟周期:通常为节拍脉冲或者T周期,即主频的倒数,是CPU中最小的时间单位,每个动作至少需要一个时钟周期
- 主频
- CPI:运行一个程序所花费的时间。
- CPU运行时间:指令数 * CPI * CPU时钟周期
- IPS:每秒执行多少指令。
- FLOPS:每秒执行多少次浮点运算。