考点
核心考点
- 冯诺依曼计算机的基本特点与指令执行过程
- 计算机的各种性能指标
基础考点
- 计算机硬件和软件的发展过程(已删除)
- 计算机系统的基本组成
- 计算机硬件的基本组成
- 计算机执行指令的完整流程
- 计算机性能指标
计算机发展历程(已删除)
计算机的产生和发展
ENIAC电子数字积分机与计算机
1946年第一台电子数字计算机ENIAC交付使用–1955年退役
- 十进制运算
- 18000多个电子管
- 1500多个继电器
- 5000次加法/秒
- 150千瓦、30吨、1500平方英尺
- 手动搬动开关和拔插电缆来编程
- 无存储、编程慢
Von Neumann系统结构的计算机
1946年冯·诺依曼设计了一台可存储程序的计算机IAS 1952年投入运行
- 2300电子管
- 将10进制改为2进制,简化计算机的结构和运算过程
- 是将程序与数据一起存储,使运算成为真正的自动过程
1947年贝尔实验室使用半导体硅制成了的一个晶体管
IBM700/7000系列
- 主存容量32K
- 操作码数185
- 运算速度50万次/秒
System/360
1964年IBM使用集成电路技术推出System/360计算机系列
- 该系列有14个型号的不同机型,这些机型是相互兼容的
- 具有类似或者相同的指令系统、操作系统
- 最终占领了70%的市场份额
- 如为NASA提供的System/360-75型号
- System/360-20,仅有4K核心内存和8个16位寄存器
微型计算机的出现和发展
微型计算机的发展以微处理器技术为标志
微处理器芯片:把控制单元和算逻单元集成在一个芯片上
机器字长:计算机一次整数运算所能处理的二进制位数
摩尔定律(Moore’s Law)
1964年,Intel 公司的缔造者之一戈登·摩尔提出摩尔定律:在芯片上所能集成的晶体管数目将会每三年翻两番。
——性能每10年提高100倍,但价格基本不变。
——用同样的价格,五年之后能买到性能高十倍的机器。
这一法则适用至今:1979-2011,32年精确符合,再适用十年。
当前通用微处理器的发展重点
- 提高复杂度
- 线程/进程级并行性开发
- 将存储器集成到处理器芯片内
- 发展嵌入式处理器
软件技术的兴起与发展
各种语言:
-
机器语言:面向机器
-
汇编语言:面向机器
-
高级语言:面向问题
FORTRAN:科学计算和工程计算
PASCAL:结构化程序设计
C++:面向对象
JAVA:适应网络环境
软件
系统软件(管理计算机系统、监视服务、调度系统资源高效运行)
-
语言处理程序:汇编程序、编译程序、解释程序
-
操作系统:DOS、UNIX、Linux .Windows
-
服务性程序:装配程序、调试程序、诊断程序、排错程序
-
数据库管理系统:数据库和数据库管理软件(ORACLE,ACCESS)
-
网络软件:网络协议软件、网络应用系统
应用软件(按任务需要编制成的各种程序)
财务软件、文字处理和排版软件、电子表格、CAD、网络通信软件
软件发展的特点
- 开发周期长
- 制作成本昂贵
- 检测软件产品质量的特殊性
软件是程序以及开发、使用和维护程序所需要的所有文档
计算机的应用
一.科学计算和数据处理(航空航天、人口普查)
二.工业控制和实时控制(机械制造、导弹发射)
三.网络技术的应用
-
电子商务(网络营销、网购)
-
网络教育(远程教育、虚拟课堂)
-
敏捷制造21世纪制造模式
四.虚拟现实(虚拟现实演播室、仿真训练系统)
五.办公自动化和管理信息系统(节约资源、提高效率)
六.CAD/CAM/CIMS
七.多媒体技术(声图文的计算机集成)
八.人工智能(手写输入、语音输入、智能机器人)
计算机的展望
超级智能计算机:类似人脑的一些超级智能功能
- 自适应、自组织、自联想、自修复等功能
- 要求计算机的速度达1015/秒,存储容量1013
- 芯片集成度要求
- 芯片集成度受物理极限的制约
- 按集合级数递增的制作成本
- 芯片的功耗、散热、线延迟等难题
替代传统的硅芯片
- 光计算机:利用光子取代电子进行运算和存储
- DNA生物计算机:通过控制DNA分子间的生化反应完成运算
- 量子计算机:利用原子具有的量子特性,运算能力比硅芯片为电路基础的计算机快几亿倍
计算机系统层次结构
计算机系统基本组成
计算机系统的层次结构
机器语言
- 用0,1代码表示的语言,可以直接被机器运行
- 必须用二进制代码编写,难度大、易出错
汇编语言
- 符号式语言,语句与机器语言语句对应,机器可以直接识别
- 需要用机器对应的汇编语言没有通用性
高级语言
- 描述接近人们习惯,较强通用性,机器不能识别,需要编译
操作系统
- 为汇编和高级语言提供所需的基本操作,控制管理软硬件资源
微指令系统
- 对每条二进制指令分析运行的系统
编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次)
解释程序:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接着再翻译下一句(每次执行都要翻译)
编译、汇编、解释程序统称为“翻译程序”
计算机体系结构和计算机组成
计算机体系结构
- 程序员能够见到的计算机系统的属性
- 概念性的结构和功能特性,属于抽象的属性(指令集、数据类型、寻址技术、I/O机理等)
计算机组成
- 如何实现计算机体系结构所体现的属性(具体指令的实现,取指、分析指令、运算等)
计算机硬件的基本组成
冯诺依曼计算机结构框图
在计算机系统中,软件和硬件在逻辑上是等效的。
(实线为数据线,虚线为控制线和反馈线)
- 运算器:进行算术运算和逻辑运算
- 存储器:存放数据和程序
- 控制器:指挥程序运行
- 输入设备:将信息转换成机器能识别的形式
- 输出设备:将结果转换成人们熟悉的形式
冯诺依曼计算机的特点
- 计算机由五大部件组成(运算/存储/控制/输入/输出)
- 指令和数据以同等地位存放于存储器内,并可按地址寻访
- 指令和数据用二进制表示(0、1)
- 指令由操作码和地址码组成(操作码必须有)
- 指令在存储器中按顺序存放
- 机器以运算器为中心(现代计算机以存储器为中心,因为输入输出设备和存储器之间的数据传送通过运算器完成)
现代计算机结构框图
- 原始数据和处理程序通过输入设备输入计算机并存放于存储器中
- 控制器执行程序指挥运算器从内存中取出数据
- 进行处理后将结果放入存储器中
- 通过输出设备把存储器中的结果输出
现代计算机以存储器为中心,CPU=运算器+控制器
计算机软件和硬件的关系
计算机软硬件
- 软件的发展可以充分发挥机器的硬件性能,提高机器工作效率
- 软件能局部模拟人类的思维活动
- 软件已成为评价计算机系统性能好坏的重要标志
- 软件性能的发挥必须依托硬件的支撑
- 计算机性能取决于软硬件总和
计算机软件和硬件的关系
计算机的工作工程
计算机解决实际问题两个步骤:上机前的各种准备、上机运行
上机前的准备
-
建立数学模型
-
确定计算方法
-
编制解题程序
程序——运算的全部步骤
指令——每一个步骤
指令格式举例
计算:ax^2+bx+c=(ax+b)x+c
上机运行
- 将程序通过输入设备送至计算机主存中
- 程序首地址PC
- 启动程序运行
- 取指令PC→MAR→M→MDR→IR,(PC)+ 1→PC
- 分析指令OP(IR)→CU
- 执行指令Ad(IR)→ MAR →M→ MDR→ ACC
- 打印结果
主存储器
- 存储体M+各种逻辑部件+控制电路
- 按地址存取,有两个寄存器
- MAR地址寄存器、MDR数据寄存器
运算器
- 至少3个寄存器、一个算术逻辑单元ALU
控制器
- 神经中枢,取指、分析、执行
寄存器之间的数据通路
PC->MAR
Ad->MAR
MDR->IR
取数:MDR->ACC
存数:ACC->MDR
MDR->X
I/O设备及其相应接口
计算机性能指标
机器字长
- CPU一次能处理数据的位数
- 与CPU中的寄存器位数有关
- 字长越长,数的表示范围越大,精度越高
- 字长可影响机器的运算速度
- 字长对硬件造价有较大影响
- 字长直接影响加法器或ALU、数据总线、存储字长的位数
存储容量
-
包括主存容量和辅存容量
-
存放二进制信息的总位数
-
主存容量(重要)
MAR反映存储单元个数
MDR反映存储字长
总容量=存储单元个数×存储字长bit(1Byte = 8bit)
=存储单元个数×存储字长/8 Byte
n个二进制位有2^n种不同的状态。
运算速度
-
影响因素:机器主频、执行的操作、主存速度
-
早期使用完成一次加法或乘法所需的时间来衡量运算速度
-
衡量方式
- 执行一条指令的耗时=CPI x CPU时钟周期
- CPU执行时间(整个程序的耗时)=CPU时钟周期数/主频=(指令条数*CPI)/主频
- IPS(lnstructions Per Second ) :每秒执行多少条指令,IPS=主频/平均CPI
- FLOPS (Floating-point Operations Per Second):每秒执行多少次浮点运算,注:此处K、M、G、工为数量单位,K=Kilo=千=103,M=Million=百万=106,G=Giga=十亿=109,T=Tera=万亿=1012
数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
其他衡量方式
-
吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量,单位字节/秒(B/S),它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。
-
响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量,微秒(10-6S)、纳秒(10-9S),通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/o操作、操作系统开销等时间)。
-
CPU时钟周期(T)︰主频的倒数称为CPU时钟周期,即T=1/f,单位微秒、纳秒
-
CPU执行时间:执行一段程序所占用的CPU时间,CPU执行时间=CPU时钟周期数×CPU时钟周期长
-
CPU主频:CPU内数字脉冲信号的频率。CPU主频(时钟频率)=1/CPU时钟周期。
-
CPI (Clock cycle Per Instruction):执行一条指令所需的时钟周期数。不同的指令,CPI不同,深知相同的指令,CPI也有可能不同。
-
基准程序:基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其它计算机性能进行比较。但是基准程序中的语句存在频度差异,运行结果也不能完全说明问题。
补充
-
CPU时钟频率(主频)越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快
-
数据通路的功能是实现CPU内部的运算器和寄存器及寄存器之间的数据交换,优化数据通路结构,可以有效提高计算机系统的吞吐量,从而加快程序执行。
-
计算机程序需要先转化成机器指令序列才能最终得到执行,通过对程序进行编译优化可以得到更优的指令序列,从而使程序的执行时间更短。
-
IPC是CPI的倒数,即每个时钟周期执行的指令数。
-
CPU主频是指CPU的时钟脉冲频率。
-
数据字长等于MDR的位数,而数据字长是数据总线一次能并行传送信息的位数。
-
计算机的字长即机器字长,也就是计算机一次能处理的二进制数的长度。操作系统的位数是操作系统可寻址的位数,与机器字长不同,一般情况下通过寄存器的位数来判断机器字长。
-
用于科学计算的计算机中,标志系统性能的最有用的参数是MFLOPS。
-
汇编程序员可以通过指定待执行指令的地址来设置PC的值,状态寄存器、通用寄存器只有为汇编程序员可见才能实现编程,而IR,MAR,MDR是CPU的内部工作寄存器,对程序员不可见。
-
CPU周期又称为机器周期,由多个时钟周期组成。
-
CPI是执行一条指令所需的时钟周期数,系统架构、指令集、计算机组织都会影响CPI,但时钟周期不会影响CPI,但可加快指令的执行速度。
-
主频、主存容量和指令系统(间接影响CPI)并不是综合性能的体现,吞吐率指系统在单位时间内处理请求的数量,是评价计算机系统性能的综合参数。
-
提高CPU主频、扩大主存容量对性能的提升是有限度的,采用并行技术是实现高性能计算的重要途径。
-
计算机“运算速度”指标的含义是每秒执行多少条指令。
-
机器字长是指CPU内部用于整数计算的数据通路的宽度,CPU内部数据通路是指CPU内部的数据流经的路径及路径上的部件,主要是CPU内部进行数据运算、存储和传送的部件,这些部件的宽度基本上要一致才能互相匹配。因此,机器字长等于CPU内部用于整数运算的运算器位数和统一寄存器宽度。
-
机器字长、指令字长、存储字长的区别和联系:
机器字长:计算机能直接处理的二进制数据的位数,一般等于内部寄存器的大小,决定了计算机的运算精度
指令字长:一个指令字中包含的二进制代码的位数
存储字长:一个存储单元存储的二进制代码的长度
他们都必须是字节的整数倍。
指令字长一般取存储字长的整数倍,若指令字长等于存储字长的二倍,则需要2次访存来取出一条指令,因此取值周期是机器周期的2倍;若指令字长等于存储字长,则取指周期等于机器周期。
[ ] 提高CPU主频、扩大主存容量对性能的提升是有限度的,采用并行技术是实现高性能计算的重要途径。
-
计算机“运算速度”指标的含义是每秒执行多少条指令。
-
机器字长是指CPU内部用于整数计算的数据通路的宽度,CPU内部数据通路是指CPU内部的数据流经的路径及路径上的部件,主要是CPU内部进行数据运算、存储和传送的部件,这些部件的宽度基本上要一致才能互相匹配。因此,机器字长等于CPU内部用于整数运算的运算器位数和统一寄存器宽度。
-
机器字长、指令字长、存储字长的区别和联系:
机器字长:计算机能直接处理的二进制数据的位数,一般等于内部寄存器的大小,决定了计算机的运算精度
指令字长:一个指令字中包含的二进制代码的位数
存储字长:一个存储单元存储的二进制代码的长度
他们都必须是字节的整数倍。
指令字长一般取存储字长的整数倍,若指令字长等于存储字长的二倍,则需要2次访存来取出一条指令,因此取值周期是机器周期的2倍;若指令字长等于存储字长,则取指周期等于机器周期。