计算机组成原理 北京理工大学计算机科学工程系 赵清杰 zhaoqj@bit.edu.cn 2003.2 北京理工大学计算机科学工程系
本课程的地位 计算机基础 数字电路 本课程在计算机应用学科中处于承上启下的地位,要求先修的课程有: 学习指南 北京理工大学计算机科学工程系 2003.2 北京理工大学计算机科学工程系
学习指南 本课程的任务 讨论单机系统范围内计算机各部件和系统的组成以及内部工作机制。通过学习,掌握计算机各大部件的组成原理、逻辑实现、设计方法及其互连构成整机系统的技术。为后继课程的学习打好基础。 2003.2 北京理工大学计算机科学工程系
本课程的重点:五大基本部件的原理及实现。 本课程的难点:各部件互连构成整机系统,即整机概念的建立。 学习指南 本课程的重点:五大基本部件的原理及实现。 本课程的难点:各部件互连构成整机系统,即整机概念的建立。 本课程的深广度:主要讨论计算机组成中具有共性的问题,要处理好抽象概念与具体实例的关系。 2003.2 北京理工大学计算机科学工程系
蒋本珊 电子计算机组成原理 北京理工大学出版社,1999 白中英 计算机组成原理 北京科学出版社,2001 学习指南 参考书 蒋本珊 电子计算机组成原理 北京理工大学出版社,1999 白中英 计算机组成原理 北京科学出版社,2001 2003.2 北京理工大学计算机科学工程系
第一章 概论 2003.2 北京理工大学计算机科学工程系
第一章 在本章中我们将从存储程序的概念入手,讨论电子数字计算机的基本组成与工作原理,使大家对于计算机系统先有一个简单的整体概念,为今后深入讨论各个部件打下基础。 2003.2 北京理工大学计算机科学工程系
电子计算机是一种不需要人工直接干预,能够自动、高速、准确的对各种信息进行处理和存储的电子设备。 §1 电子数字计算机与存储程序控制 1.1 电子数字计算机 电子计算机是一种不需要人工直接干预,能够自动、高速、准确的对各种信息进行处理和存储的电子设备。 可以有非电子计算机(如:光计算机、量子计算机、超导计算机等)。 可以有非数字计算机(如:模拟计算机)。 世界上第一台电子数字计算机是1946年2月15日问世的ENIAC。 ENIAC的设计开始于1943年, 该机一直使用到1955年。 2003.2 北京理工大学计算机科学工程系
ENIAC的特点: 采用十进制 20 个10位的累加器 用开关手动编程 18,000个电子管 重30 吨 占地170平方米 耗电140 KW §1 电子数字计算机与存储程序控制 ENIAC的特点: 采用十进制 20 个10位的累加器 用开关手动编程 18,000个电子管 重30 吨 占地170平方米 耗电140 KW 5,000次/秒加法运算 2003.2 北京理工大学计算机科学工程系
计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成; 计算机内部采用二进制来表示指令和数据; §1 电子数字计算机与存储程序控制 1.2 存储程序概念 冯·诺依曼等人在1946年6月提出存储程序概念: 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成; 计算机内部采用二进制来表示指令和数据; 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速地从存储器中取出指令加以执行。 2003.2 北京理工大学计算机科学工程系
目前绝大多数计算机仍建立在存储程序概念的基础上,称冯·诺依曼型计算机。 §1 电子数字计算机与存储程序控制 目前绝大多数计算机仍建立在存储程序概念的基础上,称冯·诺依曼型计算机。 也出现了一些突破冯·诺依曼结构的计算机,统称非冯结构计算机,如:数据驱动的数据流计算机、需求驱动的归约计算机和模式匹配驱动的智能计算机等。 2003.2 北京理工大学计算机科学工程系
1.3 计算机的简单框图 中央处理器(CPU) 主机 外部设备 CPU = 运算器 + 控制器 主机 = 中央处理器 + 主存储器 §1 电子数字计算机与存储程序控制 1.3 计算机的简单框图 中央处理器(CPU) CPU = 运算器 + 控制器 主机 主机 = 中央处理器 + 主存储器 外部设备 除去主机以外的硬件装置(如输入设备、输出设备、外存储器等) 2003.2 北京理工大学计算机科学工程系
输入设备 输出设备 运算器 控制器 §1 电子数字计算机与存储程序控制 外设 存储器 辅助存储器 主存储器 CPU 主机 控制 数据 地址或指令 主机 2003.2 北京理工大学计算机科学工程系
2.1 计算机的类型 巨、大、中、小、微型机 2.2 计算机的应用 科学计算 数据处理 过程控制 计算机辅助设计与制造 人工智能 §2 计算机的类型和应用 2.1 计算机的类型 巨、大、中、小、微型机 2.2 计算机的应用 科学计算 数据处理 过程控制 计算机辅助设计与制造 人工智能 2003.2 北京理工大学计算机科学工程系
√ √ 2.3 系列机的概念 系列机是指一个厂家生产的,具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。 §2 计算机的类型和应用 2.3 系列机的概念 系列机是指一个厂家生产的,具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。 系列机应在指令系统、数据格式、字符编码、中断系统、控制方式、输入/输出操作方式等方面保持统一,从而保证软件的兼容性。 软件兼容: 向上兼容 向下兼容 向前兼容 向后兼容 √ √ 2003.2 北京理工大学计算机科学工程系
§2 计算机的类型和应用 2003.2 北京理工大学计算机科学工程系
§3 计算机系统的硬件组成 3.1 计算机的主要部件 1.输入设备 输入设备的任务是把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。常用的有键盘、鼠标、扫描仪等。 2.输出设备 输出设备的任务是将计算机的处理结果以人或其他设备所能接受的形式送出计算机。常用的有显示器、打印机、绘图仪等。 2003.2 北京理工大学计算机科学工程系
3.1 计算机的主要部件 3.存储器 存储器是用来存放程序和数据的部件,它是一个记忆装置,也是计算机能够实现“存储程序控制”的基础。 §3 计算机系统的硬件组成 3.1 计算机的主要部件 3.存储器 存储器是用来存放程序和数据的部件,它是一个记忆装置,也是计算机能够实现“存储程序控制”的基础。 2003.2 北京理工大学计算机科学工程系
§3 计算机系统的硬件组成 三级存储系统 速度 快 Cache 主存储器 辅助存储器 慢 2003.2 北京理工大学计算机科学工程系
§3 计算机系统的硬件组成 三级存储系统 容量 Cache 主存储器 辅助存储器 小 大 2003.2 北京理工大学计算机科学工程系
§3 计算机系统的硬件组成 三级存储系统 价格/位 Cache 主存储器 辅助存储器 贵 贱 2003.2 北京理工大学计算机科学工程系
可由CPU直接访问,用来存放当前正在执行的程序和数据。 §3 计算机系统的硬件组成 主存储器 可由CPU直接访问,用来存放当前正在执行的程序和数据。 Cache 主存储器 辅助存储器 主存储器 主存储器 主存储器 2003.2 北京理工大学计算机科学工程系
设置在主机外部,CPU不能直接访问,用来存放暂时不参与运行的程序和数据,需要时再传送到主存。 §3 计算机系统的硬件组成 辅助存储器 设置在主机外部,CPU不能直接访问,用来存放暂时不参与运行的程序和数据,需要时再传送到主存。 Cache 主存储器 辅助存储器 辅助存储器 辅助存储器 辅助存储器 2003.2 北京理工大学计算机科学工程系
CPU可以直接访问,用来存放当前正在执行的程序中的活跃部分,以便快速地向CPU提供指令和数据。 §3 计算机系统的硬件组成 高速缓冲存储器(Cache) CPU可以直接访问,用来存放当前正在执行的程序中的活跃部分,以便快速地向CPU提供指令和数据。 Cache 主存储器 辅助存储器 Cache Cache Cache 2003.2 北京理工大学计算机科学工程系
运算器是对信息进行处理和运算的部件,经常进行的运算是算术运算和逻辑运算,因此运算器的核心是算术逻辑运算部件ALU。 §3 计算机系统的硬件组成 4.运算器 运算器是对信息进行处理和运算的部件,经常进行的运算是算术运算和逻辑运算,因此运算器的核心是算术逻辑运算部件ALU。 运算器中有若干个寄存器(如累加寄存器、暂存器等)。 5.控制器 控制器是整个计算机的指挥中心。 控制器中主要包括时序控制信号形成部件和一些专用的寄存器。 2003.2 北京理工大学计算机科学工程系
将各大基本部件,按某种方式连接起来就构成了计算机的硬件系统。 §3 计算机系统的硬件组成 3.2 计算机的总线结构(小、微型机典型结构) 将各大基本部件,按某种方式连接起来就构成了计算机的硬件系统。 目前许多计算机(主要指小、微型计算机)的各大基本部件之间是用总线(Bus)连接起来的。 总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。 2003.2 北京理工大学计算机科学工程系
小型、微型机的设计目标是以较小的硬件代价组成具有较强功能的系统,而总线结构正好能满足这一要求。 §3 计算机系统的硬件组成 总线特点: 共享 分时 小型、微型机的设计目标是以较小的硬件代价组成具有较强功能的系统,而总线结构正好能满足这一要求。 2003.2 北京理工大学计算机科学工程系
以CPU为中心的双总线结构 … 结构简单。但外设与主存间必须通过CPU进行信 息交换,降低了CPU的工作效率。 §3 计算机系统的硬件组成 主存储器 接口 外设 … I/O总线 存储总线 结构简单。但外设与主存间必须通过CPU进行信 息交换,降低了CPU的工作效率。 2003.2 北京理工大学计算机科学工程系
单总线结构 … 提高了CPU的工作效率,外设连接灵活。但信息传送的吞吐率受到限制,控制逻辑比专用存储复杂。 §3 计算机系统的硬件组成 接口 主存储器 系统总线 提高了CPU的工作效率,外设连接灵活。但信息传送的吞吐率受到限制,控制逻辑比专用存储复杂。 2003.2 北京理工大学计算机科学工程系
面向存储器的双总线结构 … 保留了单总线结构的优点,而存取速度大大提高。但硬件的代价随之增加。 §3 计算机系统的硬件组成 接口 外设 CPU 主存储器 系统总线 存储总线 保留了单总线结构的优点,而存取速度大大提高。但硬件的代价随之增加。 2003.2 北京理工大学计算机科学工程系
大、中型计算机系统的设计目标更着重于系统功能的扩大与效率的提高。 §3 计算机系统的硬件组成 3.3 大、中型机的典型结构 大、中型计算机系统的设计目标更着重于系统功能的扩大与效率的提高。 主机可以连接多个通道,每个通道可以接一台或几台设备控制器,每个设备控制器又可接一台或几台外部设备,这样整个系统就可以连接很多的外部设备。 通道是承担I/O操作管理的主要部件,能使CPU的数据处理和外部设备交换信息这两项操作同时进行。 2003.2 北京理工大学计算机科学工程系
3.3 大、中型机的典型结构 … … … … … §3 计算机系统的硬件组成 主机 外设 外设 通道 … CPU 外设 外设 外设 外设 第一级 第二级 第三级 第四级 设备 控制器 主机 … 外设 外设 通道 … CPU 设备 控制器 … 外设 外设 … 设备 控制器 … 外设 外设 主存 通道 … 设备 控制器 … 外设 外设 2003.2 北京理工大学计算机科学工程系
硬件是计算机系统的物质基础,软件是计算机系统的灵魂。硬件和软件是相辅相成的,不可分割的整体。 §4 计算机系统的层次结构 4.1 硬件与软件 计算机系统=硬件系统+软件系统 硬件是计算机系统的物质基础,软件是计算机系统的灵魂。硬件和软件是相辅相成的,不可分割的整体。 当前计算机的硬件和软件正朝着互相渗透,互相融合的方向发展,在计算机系统中没有一条明确的硬件与软件的分界线。硬件和软件之间的界面是浮动的,对于程序设计人员来说,硬件和软件在逻辑上是等价的。 2003.2 北京理工大学计算机科学工程系
硬件软化:原来由硬件实现的操作改由软件来实现。它可以增强系统的功能和适应性。 §4 计算机系统的层次结构 硬件软化:原来由硬件实现的操作改由软件来实现。它可以增强系统的功能和适应性。 软件硬化:原来由软件实现的操作改由硬件来实现。它可以显著降低软件在时间上的开销。 固件是指那些存储在能永久保存信息的器件(如ROM)中的程序,是具有软件功能的硬件。固件的性能指标介于硬件与软件之间,吸收了软、硬件各自的优点,其执行速度快于软件,灵活性优于硬件,是软、硬件结合的产物,计算机功能的固件化将成为计算机发展中的一个趋势。 2003.2 北京理工大学计算机科学工程系
系统软件:包括各种语言的处理程序、操作系统、服务程序、管理程序等。 §4 计算机系统的层次结构 4.2 计算机软件的基本内容 系统软件:包括各种语言的处理程序、操作系统、服务程序、管理程序等。 应用软件:由用户或第三方软件公司专门为解决某个应用领域中的具体任务而编制的程序。 在计算机系统中,软件是在硬件的支持下工作的,而应用软件又是在系统软件的支持下工作的。 2003.2 北京理工大学计算机科学工程系
现代计算机系统是一个硬件与软件组成的综合体,我们可以把它看成是按功能划分的多级层次结构。 §4 计算机系统的层次结构 4.3 计算机系统的多层次结构 1.多层次结构 现代计算机系统是一个硬件与软件组成的综合体,我们可以把它看成是按功能划分的多级层次结构。 微程序级(实际机器) 机器语言级(实际机器) 汇编语言级(虚拟机器) 应用语言级(虚拟机器) 高级语言级(虚拟机器) 操作系统级(虚拟机器) 数字逻辑(实际机器) 第0级 第1级 第2级 第3级 第4级 第5级 第6级 应用语言级(虚拟机器) 应用程序 高级语言级(虚拟机器) 编译程序 汇编语言级(虚拟机器) 汇编程序 操作系统级(虚拟机器) 操作系统 机器语言级(实际机器) 微程序 微程序级(实际机器) 硬联逻辑 硬操作时序(实际机器) 2003.2 北京理工大学计算机科学工程系
在计算机系统的多层次结构中,除第0、1、2级外,上面四级均为虚拟机。 §4 计算机系统的层次结构 2.虚拟机概念 在计算机系统的多层次结构中,除第0、1、2级外,上面四级均为虚拟机。 虚拟计算机是指这个计算机只对该级的观察者存在。对某一层次的观察者来说,他只能是通过该层次的语言来了解和使用计算机,至于下层是如何工作和实现的就不必关心了。简而言之,虚拟计算机即是由软件实现的机器。 2003.2 北京理工大学计算机科学工程系
4.4 不同对象观察到的计算机硬件系统 一般用户观察到的计算机硬件系统 §4 计算机系统的层次结构 北京理工大学计算机科学工程系 4.4 不同对象观察到的计算机硬件系统 一般用户观察到的计算机硬件系统 2003.2 北京理工大学计算机科学工程系
§4 计算机系统的层次结构 专业用户观察到的计算机硬件系统 2003.2 北京理工大学计算机科学工程系
§4 计算机系统的层次结构 计算机设计者观察到的计算机硬件系统 2003.2 北京理工大学计算机科学工程系
5.1 计算机的工作过程 §5 计算机的工作过程和主要性能指标 数据总线 累加器 ALU 000 001 002 003 005 006 存储器数据寄存器 数据总线 累加器 ALU 000 001 002 003 005 006 007 008 004 主存 b a c LOAD 005 ADD 006 SUB 007 STORE 008 HALT 2003.2 北京理工大学计算机科学工程系
§5 计算机的工作过程和主要性能指标 取数指令 000 001 002 003 005 006 007 008 004 主存 b a c LOAD 005 ADD 006 SUB 007 STORE 008 HALT 存储器数据寄存器 数据总线 累加器 ALU LOAD 005 a a a 2003.2 北京理工大学计算机科学工程系
§5 计算机的工作过程和主要性能指标 加法指令 000 001 002 003 005 006 007 008 004 主存 b a c LOAD 005 ADD 006 SUB 007 STORE 008 HALT 存储器数据寄存器 数据总线 累加器 ALU LOAD 005 ADD 006 a+b a a b b a 2003.2 北京理工大学计算机科学工程系
§5 计算机的工作过程和主要性能指标 000 001 002 003 005 006 007 008 004 主存 b a c LOAD 005 ADD 006 SUB 007 STORE 008 HALT 存储器数据寄存器 数据总线 累加器 ALU a+b 减法指令 SUB 007 a+b-c c c 2003.2 北京理工大学计算机科学工程系
§5 计算机的工作过程和主要性能指标 000 001 002 003 005 006 007 008 004 主存 b a c LOAD 005 ADD 006 SUB 007 STORE 008 HALT 存储器数据寄存器 数据总线 累加器 ALU a+b a+b-c 存数指令 STORE 008 a+b-c a+b-c a+b-c 2003.2 北京理工大学计算机科学工程系
§5 计算机的工作过程和主要性能指标 000 001 002 003 005 006 007 008 004 主存 b a c LOAD 005 ADD 006 SUB 007 STORE 008 HALT 存储器数据寄存器 数据总线 累加器 ALU a+b a+b-c 停机指令 HALT 2003.2 北京理工大学计算机科学工程系
基本字长是指参与运算的数的基本位数,它是由加法器、寄存器、数据总线的位数决定的。 §5 计算机的工作过程和主要性能指标 5.2 计算机的主要性能指标 1.基本字长 基本字长是指参与运算的数的基本位数,它是由加法器、寄存器、数据总线的位数决定的。 在计算机中为了更灵活地表达和处理信息,许多计算机又以字节(Byte)为基本单位,一个字节等于8位二进制位(bit)。 不同的计算机,字(Word)可以不相同,但对于系列机来说,在同一系列中,字却是固定的,如80X86系列中,一个字等于16位;IBM303X系列中,一个字等于32位。 2003.2 北京理工大学计算机科学工程系
内、外数据通路宽度相等的CPU有:Intel 8086、80286、80486等; 外部<内部的CPU有:8088、80386SX等; §5 计算机的工作过程和主要性能指标 2.数据通路宽度 数据总线一次所能并行传送的位数,称为数据通路宽度。 它影响到信息的传送能力,从而影响计算机的有效处理速度。CPU内部的数据通路宽度一般等于基本字长,而外部数据通路宽度则取决于系统总线。 内、外数据通路宽度相等的CPU有:Intel 8086、80286、80486等; 外部<内部的CPU有:8088、80386SX等; 外部>内部的CPU有:Pentium等。 2003.2 北京理工大学计算机科学工程系
一个主存储器所能存储的全部信息量称为主存容量。衡量主存容量单位有两种: §5 计算机的工作过程和主要性能指标 3.主存容量 一个主存储器所能存储的全部信息量称为主存容量。衡量主存容量单位有两种: ① 字节数。这类计算机称为字节编址的计算机。每1024个字节称为1K字节(210=1K),每1024K字节称为1M字节(220=1M),每1024M字节称为1G字节(230=1G)。 ② 字数×字长。这类计算机称为字编址的计算机。如:4096×16表示存储器有4096个存储单元,每个存储单元字长为16位。 计算机的主存容量越大,存放的信息就越多,处理问题的能力就越强。 2003.2 北京理工大学计算机科学工程系
4.运算速度 MIPS表示每秒百万条指令。 MFLOPS每秒表示百万次浮点运算。 以MIPS和MFLOPS作为计量单位来衡量运算速度。 §5 计算机的工作过程和主要性能指标 4.运算速度 以MIPS和MFLOPS作为计量单位来衡量运算速度。 MIPS表示每秒百万条指令。 MIPS多用于衡量标量机。 MFLOPS每秒表示百万次浮点运算。 MFLOPS比较适用于衡量向量机。 2003.2 北京理工大学计算机科学工程系
内频,就是CPU的内部工作频率,内频也可称为内部时钟。 外频,即外部工作频率,也就是主板的总线速度或系统时钟。 §5 计算机的工作过程和主要性能指标 5.工作频率 工作频率是衡量计算机速度的重要参数。 工作频率又可以细分为内频和外频。 内频,就是CPU的内部工作频率,内频也可称为内部时钟。 外频,即外部工作频率,也就是主板的总线速度或系统时钟。 2003.2 北京理工大学计算机科学工程系
目前,CPU的内频越来越高,外频与内频不再是一比一的同步关系,从而出现了所谓的内部倍频技术,导致了“倍频”的出现。 §5 计算机的工作过程和主要性能指标 早期,CPU的内频就等于外频。 目前,CPU的内频越来越高,外频与内频不再是一比一的同步关系,从而出现了所谓的内部倍频技术,导致了“倍频”的出现。 内频、外频和倍频三者之间的关系是: 内频=外频×倍频 2003.2 北京理工大学计算机科学工程系
§1 电子数字计算机与存储程序控制 存储程序概念 主机 §2 计算机的类型和应用 系列机概念 软件兼容 §3 计算机系统的硬件组成 第一章 小结 §1 电子数字计算机与存储程序控制 存储程序概念 主机 §2 计算机的类型和应用 系列机概念 软件兼容 §3 计算机系统的硬件组成 计算机的五大基本部件 总线 2003.2 北京理工大学计算机科学工程系
§4 计算机系统的层次结构 计算机系统 硬件和软件的关系 固件的概念 虚拟机概念 §5 计算机的工作过程和主要性能指标 主要性能指标 第一章 小结 §4 计算机系统的层次结构 计算机系统 硬件和软件的关系 固件的概念 虚拟机概念 §5 计算机的工作过程和主要性能指标 主要性能指标 基本字长、数据通路宽度、主存容量 2003.2 北京理工大学计算机科学工程系