计算机组成第一章:概论
计算机
- 通用计算机
- 功能齐全,通用性强,适应面广,可完成各种各样的工作
- 牺牲了效率、速度、经济性
- 专用计算机
- 专为某些特定功能设计的功能单一的计算机,一般结构简单
- 可靠性高、速度快、成本低
- 适应性很差
- 分类(体积、复杂度、功耗、性能指标、数据存储容量、指令系统规模和价格降序排列)
- 超级计算机
- 主要用于科学计算
- 大型机
- 服务器
- 工作站
- 微型机
- 单片机
- 是只用单片集成电路做成的计算机
- 体积小、结构简单、性能指标较低、价格便宜
- 超级计算机
计算机发展史
时间 | 使用器件 | 执行速度(次/秒) | 典型应用 | |
---|---|---|---|---|
第1代 | 1946~1957 | 电子管 | 几千至几万 | 数据处理机 |
第2代 | 1958~1964 | 晶体管 | 几万至几十万 | 工业控制机 |
第3代 | 1965~1970 | 小规模/中规模集成电路 | 几十万至几百万 | 小型计算机 |
第4代 | 1971~1985 | 大规模/超大规模集成电路 | 几百万至几千万 | 微型计算机 |
第5代 | 1986~ | 甚大规模集成电路 | 几亿至上百亿 | 单片计算机 |
数字计算机发展趋势
- 多处理
- 在一个或多个CPU之间划分工作
- 网络化
- 智能化
- 计算机将从数值计算为主过渡到知识推理为主, 进入知识处理阶段
- 微型化
- 微型计算机将向更加微型化、网络化、高性能、 多用途方向发展
- 巨型化
- 超级计算机将向更加巨型化、超高速、并行处理 、智能化方向发展
- 多媒体
- 使计算机向着人类接受和处理信息的最自然的方式发展
人工智能
- 简而言之就是使计算机模仿人的高级思维活动
- 文字识别、图形识别、景物分析、语音识别、 语音合成、语言理解
- 人工智能研究中最突出的成就是机器人
软件与硬件
计算机由硬件和软件两部分组成
- 硬件是基础
- 软件是灵魂
- 两者缺一不可
软件
- 有计算机程序构成的无形的东西
- 需要存储在有形的硬件中
- 可以实现更高层次的逻辑功能
软件系统
- 一台计算机中全部程序的集合
- 在硬件系统的基础上,为有效使用计算机而配置的
- 按功能分类
- 应用软件
- 为解决某种应用问题而编制的程序
- 系统软件
- 用于实现计算机系统的管理、调度、监视和服务等功能
- 包括
- (1)服务性程序
- 又称为工具软件,包括诊断程序、调试程序等
- (2)语言处理程序
- 将源程序翻译成机器可以直接识别的目的程序
- 类别
- 汇编程序
- 编译程序
- 解释程序
- (3)操作系统
- 控制和管理计算机的各种资源
- 自动调度用户作业程序
- 处理各种中断
- 用户与计算机的接口
- (4)数据库管理系统
- 数据库
- 是一种计算机软、硬件资源组成的系统
- 能够有组织、动态地存储大量的相关数据,方便多用户访问
- 数据库+数据库管理软件
- 数据库
- (5)标准库程序
- 是为方便用户而预先按照标准格式编制好的一些常用程序段所组成的标准程序库
- (6)计算机网络软件
- 是为计算机网络而配置的系统软件,负责对网络资源进行组织和管理,实现相互之 间的通信
- 包括
- 网络操作系统
- 实现网络资源管理
- 数据通信处理程序
- 实现网络操作
- 网络操作系统
- (1)服务性程序
- 应用软件
硬件
- 由物理元器件构成的有形实体
- 主要是数字逻辑电路
- 是组成计算机的所有电子器件和机电装置的总称
- 包括
- 控制器
- 运算器
- 存储器
- 输入输出设备
- 总线
体系结构
定义
- 机器语言程序员所看到的计算机系统的属性
这些属性包括: 数据表示、寻址规则、寄存器定义、指令集、终端系统、存储系统、信息保护、I/O结构等,是计算机系统中由硬件或固件完成的功能。
实质
- 确定计算机系统中软硬件的界面
- 界面之上是软件的功能,界面之下是硬件和固件的功能
分类
Single Instruction (单指令) | Multiple Instruction (多指令) | |
---|---|---|
Single Data (单数据) | SISD (单指令流单数据流) | MISD (多指令流单数据流) |
Multiple Data (多数据) | SIMD (单指令流多数据流) | MIMD (多指令流多数据流) |
SISD
- 顺序执行
- 同一时刻只能执行一条指令
- 通常由一个处理器+一个存储器组成
- 缺点
- 单个处理器处理能力有限
- 没有发挥数据处理中的并行性潜力
SIMD
- 并行结构
- 一条指令可以同时对多个数据进行运算
- 单一的指令部件,多个处理单元
- 由一个控制器,多个处理器,多个存储模块和一个互连网络组成
- 代表
- 阵列处理机
- 向量处理机
MISD
- 多处理单元,分别执行不同的指令流
- 同一数据流顺次通过各个处理单元
- 只适用于某些特定的算法,在目前常见的计算机系统中很少见
MIMD
- 并行结构
- 多处理单元根据不同的控制流程执行不同的操作,处理不同的数据
- 由多台处理机、多个存储模块和一个互连网络组成
- 每台处理机执行自己的指令,操作数也是各取各的,每个处理器都可以单独编程
- 代表
- 多处理机
- 机群系统
给计算机一个指令序列(即程序),计算机会存储它们 ,并在未来的某个时间里,从计算机存储器中读出,依 照程序给定的顺序执行它们 。
现代计算机区别于其他机器的主要特征,就在于这种可编程能力 。
冯诺依曼体系结构
- 主要特点:使用二进制数和存储程序
- 设计思想:存储程序并按地址顺序执行
- 把程序极其操作数据一同存储
- 大多数当代计算机仍然采用冯诺依曼体系结构
- 五大部件
- 控制器
- 运算器
- 存储器
- 输入设备
- 输出设备
控制器+运算器合称中央处理器(CPU)
CPU和存储器通常组装在一个机箱内,合称主机
其余为外围设备
哈佛体系结构
- 程序和操作数据分开存储
控制器
- 是计算机的管理结构和指挥中心
- 其工作的实质是解释程序
- 逐条读取、分析、执行指令,控制各部件动作
- 程序计数器
- 一个特殊的寄存器
- 记录将要读取的下一条指令在存储器中的位置
- 基本任务
- 不断取指令、译码分析、执行
- 控制器在这取指周期和执行周期之间反复交替
- 每取出一条指令,程序计数器就+1,为取下一条指令做好准备,因此指令在存储器中必须顺序存放
取指周期
- 取指令的一段时间
执行周期
- 执行指令的一段时间
- 数据和指令
- 控制信息
- 即操作命令
- 发源地:控制器,分散流向各个部件
- 数据信息
- 受控制信息的控制,从一个部件流向另一个部件,边流动边加工处理
- 指令流
- 取指周期中从存储器中读出的信息
- 由存储器流向控制器
- 数据流
- 执行周期中从存储器中读出的信息
- 由存储器流向运算器
- 控制信息
运算器
- 是一个用于信息加工的部件,用于对数据进行算术运算和逻辑运算
- 通常由**算数逻辑单元(ALU)**和一系列寄存器组成
ALU
- 是具体完成算术与逻辑运算的单元
- 逻辑运算
- 与、或、非、异或等布尔运算
- 比较数值
- 逻辑运算
- 是运算器的核心
- 由加法器和其他逻辑运算单元组成
任何计算机都可以通过编程来执行任何的算术运算
寄存器
- 用于存放参与运算的操作数
累加器
- 一个特殊的寄存器
- 除了存放操作数外,还用于存放中间结果和最后结果
存储器
主要功能:存放程序和数据
信息
- 程序和数据(都用二进制表示)的统称
访问存储器
- 向存储器存入或从存储器取出信息
位(bit,简写为b)
- 数字计算机的最小信息单位
- 包含1位二进制信息(0或1)
字节(Byte,简写为B)
- 由8位二进制信息组成
字(Word)
- 计算机一次所能处理的二进制位数,至少一个字节
- 通常把组成一个字的二进制位数称为字长
存储容量
- 存储器中所有存储单元的总数
- 常用单位
- KB,MB,GB,TB,PB
- 各单位间差1024
存储器分类
- 主存储器
- 通常采用半导体存储器
- 随机存取存储器(RAM)
- CPU可读写
- 掉电内容消失
- 只读存储器(ROM)
- CPU只能读取
- 掉电保留数据
- 实现加载了固化的数据和软件
- 存储在ROM中的软件通常被成为固件
- 寄存器
- 是CPU内部的一组特殊存储单元
- 读写速度比主存快得多
- 通常被用于使用最为频繁的数据项,以避免多次访问主存
- 减少主存访问可大大加快计算机速度
- 闪速存储器
- 掉电保留数据
- 可被重写
- 速度比ROM和RAM慢得多
- 用于非高速场合
- 高速缓冲存储器(Cache)
- 慢于寄存器,快于主存
- 位于CPU和主存之间
- 规模小,速度快
- 能够很好地解决CPU和主存之间的速度匹配问题
- 计算机自动把频繁访问数据移入Cache,无需人工干预
- 当需要读写数据时,CPU首先访问Cache
- 只有当Cache中不包含所需要的数据时,CPU才去访问主存
- 辅助存储器
- 又名外存,包括软盘存储器、硬盘存储器、光盘存储器等
- 存放当前不在运行的程序和未被用到的数据
- 存储容量大、成本低,可脱机保存信息
输入输出设备
输入设备
- 人们熟悉的信息形式→计算机接受并识别的二进制信息形式
- 理想型:会看、会听
输出设备
- 计算机输出的处理结果信息→人类或其他设备能够接受并识别的信息形式
- 理想型:会写、会讲
适配器
- 外设通过适配器部件与主机相连接
- 作用相当于转换器,保证外围设备按照计算机系统特性所要求的形式发送或接收信息
- 使主机和外围设备并行协调地工作
总线
- 计算机系统通过总线(Bus)将CPU、主存储器及 I/O设备连接起来
- 是构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路
- 分类
- 数据总线
- 主要传送数据,双向,可输入输出
- 地址总线
- 传送地址信息,单向,决定数据或命令传送给谁
- 控制总线
- 传送各种控制信号
- 数据总线
程序设计语言
机器语言
又称目的程序
汇编语言
指令助记符
- 如ADD 、SUB、MULT、JUMP等
汇编语言(Assembly Language)
- 用指令助记符表示的指令来编写程序
汇编程序(Assembler)
- 用来把汇编语言程序转换为计算机可以理解的、用机器语言表示的目的程序
机器语言及汇编语言,对于特定类型的计算机而言是唯一的
算法语言
- 是指按实际需要规定好的一套基本符号,以及由这套基本符号构成程序的规则
源程序(Source)
-
是指用算法语言编写的程序
-
不能由机器直接识别和执行,必须“翻译”为机器语言后才能由机器识别和执行
-
源程序“翻译”方法
-
⑴编译程序(Compiler)
-
把用算法语言编写的源程序翻译成目的程序,然后在 运行系统中执行目的程序,得出计算结果
-
编译程序和运行系统合称为编译系统
-
-
⑵解释程序(Interpreter)
- 逐个解释并立即执行源程序的语句
-
计算机层次结构
第一级 | 微程序设计级 | 由机器硬件直接执行微指令 | 硬件级 | 二进制语言 |
---|---|---|---|---|
第二级 | 机器语言级 | 由微程序解释机器指令系统 | 硬件级 | 二进制语言 |
第三级 | 操作系统级 | 由操作系统程序实现 | 混合级 | 二进制语言 |
第四级 | 汇编语言级 | 由汇编程序支持和执行 | 软件级 | 符号语言 |
第五级 | 高级语言级 | 由各种高级语言编译程序支持和执行 | 软件级 | 符号语言 |
各层次之间关系紧密,上层是下层功能的扩展,下层是上层的基础
几个定义
计算机体系结构
- 机器语言程序员所看到的计算机系统的属性
计算机组成
- 计算机体系结构的逻辑实现
计算机实现
- 计算机组成的物理实现
三个定义之间的关系
- 相同计算机体系结构的计算机可采用不同的计算机组成
- 一种计算机组成可以采用多种不同的计算机实现