计算机组成原理教案主讲:蒋邵平邮箱,jsp@hunau.net
计算机组成原理教案
第一章 计算机系统概论
第二章 运算方法和运算器
第三章 存储系统
第五章 中央处理器
第六章 总线系统
第七章 外围设备 (不是重点 )
第八章 输入输出系统(不是重点)
第一章 计算机系统概论
本章摘要
计算机硬件、软件的基本概念
计算机系统的基本组成;
计算机的工作过程;
计算机系统的层次结构。
第一章 计算机系统概论
学习目标,
1.计算机的发展、分类、特点与应用;
2.计算机硬件和软件的基本概念;
3.计算机硬件系统的组织,各部分的功能及其组成框图;
4.计算机的工作过程,即执行指令的过程;
5.冯,努依曼型计算机的设计思想;
6.计算机系统的层次结构。
对计算机有一个总体的概念,以便展开后续各章内容。
第一节 计算机的分类和应用
本节要点,
计算机分类
数字计算机分类
通用机分类
计算机应用计算机分类
按照原理分类
① 数字机,速度快、精度高、自动化、通用性强,处理离散的量
② 模拟机,用模拟量作为运算量,速度快、精度差,处理在时间和数值上连续的量
③ 混合机,集中前两者优点、避免其缺点,处于发展阶段数字计算机分类(按用途分)
① 专用机,针对性强、特定服务、专门设计,
例:工控机,DSP,IOP等
② 通用机,科学计算、数据处理、过程控制解决各类问题,例,GPP
通用机分类(按照性能指标分类 )
· 巨型机( Super-Computer) 高速度、大容量
· 大型机( Mainframe) 速度快、应用于军事技术科研领域
· 小型机( minicomputer) 结构简单、造价低、性能价格比突出
· 微型机( microcomputer) 体积小、重量轻、价格低
· 单片机( Single-Chip Computer) 能大大地提高这些产品的智能性,易用性及节能性等主要性能指标巨型机( Super-Computer)
巨型机 功能极其强大,速度达上万亿次
典型产品有,Cray- 1,Cray- 2,Cray- 3、国产银河 I型、曙光 4000A( 11万亿次 /秒目前中国最快)、“走鹃”由 IBM和新墨西哥州洛斯阿拉莫斯国家实验所共同研发,历时 6年完成。
“走鹃”价值 1.33亿美元,最大运算速度每秒
1000万亿次,目前世界最快。
大型机( Mainframe)
大型计算机是计算机种类中的一种,作为大型商业服务器,
在今天仍具有很大活力。它们一般用于大型事务处理系统,
特别是过去完成的且不值得重新编写的数据库应用系统方面,
其应用软件通常是硬件本身成本的好几倍,因此大型机仍有一定地位。
大型机体系结构的最大好处是无与伦比的 I/O处理能力。
虽然大型机处理器并不总是拥有领先优势,但是它们的 I/O体系结构使它们能处理好几个 PC服务器放一起才能处理的数据。
大型机的另一些特点包括它们的大尺寸和使用液体冷却处理器阵列。在使用大量中心化处理的组织中,它们仍有重要的地位。
由于小型计算机的到来,新型大型机的销售已经明显放慢。在电子商务系统中,如果数据库服务器或电子商务服务器需要高性能、高 I/O处理能力,可以采用大型机。
小型机( minicomputer)
小型机可以满足 部门性的需求,供小型企事业单位使用。小型计算机仅仅是低价格、小规模的大型计算机,典型的小型机运行 UNIX或者象 MPE,VEM等专用的操作系统。它们比大型计算机价底,却几乎有同样的处理能力。 HP的 9000系列小型机几乎可与 IBM的传统大型计算机相竞争。
在高端小型机一般使用的技术有:基于 RISC的多处理器体系结构,兆数量级字节高速缓存,凡千兆字节 RAM,使用
I/O处理器的专门 I/O通道上的数百 GB的磁盘存储器,以及专设管理处理器。它们较小并且是气冷的,因此对客户现场没有特别的冷却管道要求。
目前,生产和销售小型机的公司有 HP和 IBM。
微型机( microcomputer)
微型机 个人或家庭使用,PC/个人计算机,简称“微型机”、“微机”,也称“微电脑”。由大规模集成电路组成的、体积较小的电子计算机。由微处理机 (核心 )、存储片、输入和输出片、系统总线等组成。
特点是体积小、灵活性大、价格便宜、使用方便。
微型计算机 (Microcomputer)是指以微处理器为基础,
配以内存储器及输入输出 (I/ 0)接口电路和相应的辅助电路而构成的裸机。把微型计算机集成在一个芯片上即构成单片微型计算机 (Single Chip
Microcomputer)。
单片机( Single-Chip Computer)
单片机,将计算机各种基本部件集成在一片集成电脑单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、
价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等计算机应用
· 科学计算 密码破译,天气预报,地质勘探,卫星轨道计算
· 自动控制 机器人以及各种自动化装备,温度调节,阀门控制
· 测量和测试 高精度测量、在恶劣条件下的测量
· 辅助设计 /分析 /制造 /教学 机械 CAD,建筑 CAD,计算机辅助教学 CAI
· 信息处理 数据库管理,企业信息管理,统计汇总、办公自动化
· 智能模拟 人工智能、专家系统、自学习第二节 计算机的硬件本节要点
1.2.1 计算机的硬件组成
1.2.2 计算机系统结构的过去和未来用一个算盘,一张纸,一支笔来计算 y=ax+b-c这个题目,步骤如下。
表 1.2 解题步骤和数据记录在横格纸上行数 解题步骤和数据 说 明
1 取数 (9)→ 算盘 (9)表示第 9行的数 a,下同
2 乘法 (12)→ 算盘 完成 a*x,结果在算盘上
3 加法 (10)→ 算盘 完成 ax+b,结果在算盘上
4 减法 (11)→ 算盘 完成 ax+b-c,结果在算盘上
5 存数 y→13 算盘上的 y值记到第 13行
6 输出 把算盘上的 y值写出给人看
7 停止 运算完毕,暂停
8
9 a 数据
10 b 数据
11 c 数据
12 x 数据
13 y 数据计算机也需要相应部件,
运算器,在计算机中相当于算盘功能的部件;
存储器,在计算机中相当于纸那样具有“记忆”功能的部件 ;
输入设备输出设备,相当于笔,把原始解题信息送到计算机或把运算结果显示出来的设备 ;
控制器,相当于我们的大脑,能够自动控制整个计算过程。
计算机组成
数字计算机硬件系统 由五大部分组成:
运算器、控制器、存储器、输入设备和输出设备。各部分相互连接框图为:
通常,在计算机中采用总线方式连接各大部件,框图如下:
CPU
( 1)运算器运算器是一个数据加工部件,主要完成二进制算术运算及逻辑运算。运算器的位数越多,计算的精度就越高,但是所费的电子器件也越多,成本就高。目前计算机的运算长度一般为 8位,16位,32位或 64位。
如图
( 2),控制器控制器是计算机中发号施令的部件,它控制计算机的个部件有条不紊地进行工作。
具体的讲,控制器的任务是从内存中取出解题步骤加以分析,
然后执行某种操作,
1.计算程序运算器只能完成加、减、乘、除四则运算及其他一些辅助操作
。对于比较复杂的算题,计算机在运算前必须化成一步一步简单的加、减、乘、除等基本操作来做。每一个基本操作就叫做一条指令,而解算某一问题的一串指令序列,叫做该问题的计算程序,简称为程序。
上例
2 指令的形式每条指令应当明确告诉控制器,从存储器的那个单元取数,并进行何种操作。
指令的内容由两部分组成,即操作的性质和操作的地址。前者称为操作码,后者称为地址码。
操作码 地址码指令 操作码加法 001
减法 010
乘法 011
除法 100
取数 101
存数 110
打印 111
停机 000
3,控制器的基本任务计算机进行计算时,指令必须是按一定的顺序一条接一条地进行。
控制器的基本任务,就是按照计算程序所排的指令序列,先从存储器取出一条指令放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进行相应的操作。接着从存储器取出第二条指令,在执行这第二条指令。
依次类推,通常把取指令的一段时间叫做 取指周期,而把执行指令的一段时间叫做 执行周期 。
因此,控制器反复交替地处在取指周期与执行周期之中。
每取出一条指令,控制器中的指令计数器就加 1,从而为取下一条指令做好准备,这也就是指令为什么在存储器中顺序存放的原因。
4,指令流和数据流由于数字电路使用 0和 1两个二进制数字,所以使用“位” (bit)作为数字计算机的最小信息单位。
CPU向存储器送入或从存储器取出信息时,用 B(字节 )和 W(字 )等较大的信息单位来工作。一个“字节”由 8位二进制信息组成,而一个“
字”则至少由一个以上的字节组成。
通常把组成一个字的二进制位数叫做 字长 。
计算机字既可以代表指令,也可以代表数据。如果某字代表要处理的数据,则称为数据字;如果某字为一条指令,则称为 指令字 。
指令和数据统统放在内存中,从形式上看,它们都是二进制数码
。一般来讲,在取指周期中从内存读出的信息是 指令流,它流向控制器;而执行周期中从内存读出的信息流是数据流,它由内存流向运算器。
存储器
· 计算机的存储器用来存储以二进制形式表示的数据和程序。
· 设计目标,容量大、速度快、成本低。
· 为解决容量与成本的矛盾:将存储器由内存储器和外存储器构成。
内存储器,由半导体存储器构成特点:速度快,但成本高,程序和数据运行时,
存放在内存中,
外存储器,由磁盘、磁带、光盘等构成特点:容量大、成本低,可脱机保存信息,存放暂时不用的程序和数据存储器 (二)
· 为解决速度和成本的矛盾:将内存储器由主存和 Cache构成。
Cache,即高速缓冲存储器,由速度更快的半导体存储芯片构成,以便与 CPU速度匹配。因为价格较高,所以容量较小,作为主存的一个副本存放 CPU最近经常访问的一些信息。
因此,计算机存储器是一个存储体系,可由三级存储器构成,即:主存,Cache、外存,
存储单元,在存储器中保存一个数的 16个触发器,
称为一个 存储单元 。
地址,存储器是由许多存储单元组成,每个存储单元的编号,称为地址。
存储容量,存储器所有存储单元的总数。通常用单位,KB,MB”表示,如 64KB,128MB。存储容量越大,
表示计算机记忆储存的信息就越多。
外存储器,计算机中又配备的存储容量更大的磁盘存储器、光盘存储器等。相对而言,半导体存储器称为 内存储器,简称内存。
输入输出设备输入输出设备是计算机与外界联系的桥梁,外设通过通过 适配器 部件与主机相连接。
一般将输入设备、输出设备以及外存储器统称外围设备 (Peripheral),外围设备的种类很多,计算机可根据应用需要配接。
( 1) 输入设备输入设备是将人们要求计算机处理的各种信息,
转换为计算机能接受的二进制码送入内存。常用的输入设备有:键盘( Keyboard)、鼠标 (Mouse)、光笔、扫描仪 (Scanner)等。
键盘和鼠标通常是计算机配置的基本设备。
· 利用键盘键入字母、数字、符号,可向计算机输入数据和指令;
· 鼠标是一种能让你在屏幕上定位并选择项目的手动设备,当你在桌子上移动鼠标时,屏幕上的鼠标指针也将按同样的方向移动,以便你选择所需的项目。
( 2) 输出设备输出设备是将计算机处理的结果以人们所希望的形式(数字、符号、图象、声音等)
输出。常用的输出设备有:显示器 (Monitor)、
打印机 (Printer)、绘图仪 (Plotter)等。而显示器通常是计算机配置的基本设备。
· 显示器与视频显示卡协同工作,可将计算机运行的结果以文本或图象的形式显示出来。
· 当我们需要在纸上打印信息时,就要使用打印机。常用的打印机有点阵式打印机、激光 打印机和喷墨打印机。
总线总线是构成计算机系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路。
借助于总线连接,计算机在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作。在计算机工作时,
机内有两股信息流,一股是数据流,这是被加工的对象;另一股是控制流,是控制器发往各部件的控制命令。两股信息流通过总线有序流动,使计算机自动工作。
冯 ·诺依曼体系结构(一)
计算机组成原理讨论的基础就是冯 ·诺依曼体系结构的计算机,其基本设计思想就是存储程序和程序控制,具有以下特点:
冯 ·诺依曼体系结构(二)
(1) 采用二进制形式表示数据和指令在存储程序的计算机中,数据和指令都是以二进制形式存储在存储器中的。从存储器存储的内容来看两者并无区别.都是由 0和 1组成的代码序列,
只是各自约定的含义不同而已。计算机在读取指令时,把从计算机读到的信息看作是指令;而在读取数据时,把从计算机读到的信息看作是操作数。数据和指令在软件编制中就已加以区分,所以正常情况下两者不会产生混乱。有时我们也把存储在存储器中的数据和指令统称为数据,因为程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,就是将源程序当作被加工处理的对象。
冯 ·诺依曼体系结构(三)
(2) 采用存储程序方式这是冯 ·诺依曼思想的核心内容。如前所述,它意味着事先编制程序,事先将程序 (包含指令和数据 )存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令且执行。这是计算机能高速自动运行的基础。计算机的工作体现为执行程序,计算机功能的扩展在很大程度上也体现为所存储程序的扩展。计算机的许多具体工作方式也是由此派生的。
冯 ·诺依曼机的这种工作方式,可称为控制流 (指令流 )驱动方式。即按照指令的执行序列,依次读取指令,然后根据指令所含的控制信息,调用数据进行处理。因此在执行程序的过程中,始终以控制信息流为驱动工作的因素,而数据信息流则是被动地被调用处理。为了控制指令序列的执行顺序,
设置一个程序 (指令 )计数器 PC(Program Counter),让它存放当前指令所在的存储单元的地址。如果程序现在是顺序执行的,每取出一条指令后 PC内容加 l,指示下一条指令该从何处取得。如果程序将转移到某处,就将转移的目标地址送入 PC,以便按新地址读取后继指令。所以,PC就像一个指针,一直指示着程序的执行进程,也就是指示控制流的形成。虽然程序与数据都采用二进制代码,仍可按照 PC的内容作为地址读取指令,再按照指令给出的操作数地址去读取数据。由于多数情况下程序是顺序执行的,所以大多数指令需要依次地紧挨着存放,除了个别即将使用的数据可以紧挨着指令存放外、一般将指令和数据分别存放在该程序区的不同区域内。
冯 ·诺依曼体系结构(四)
(3) 由运算器、存储器、控制器、输入设备和输出设备五大部件组成计算机系统,
并规定了这五部分的基本功能。
上述这些概念奠定了现代计算机的基本结构思想,到目前为止,绝大多数计算机仍沿用这一体制,即冯 ·诺依曼型计算机体制。
非诺依曼化(一)
必须看到,传统的冯 ·诺依曼型计算机从本质上讲是采取串行顺序处理的工作机制,即使有关数据巳经准备好,也必须逐条执行指令序列。而提高计算机性能的根本方向之一是并行处理。因此,
近年来人们谋求突破传统冯 ·诺依曼体制的束缚,这种努力被称为非诺依曼化。
对所谓非诺依曼化的探讨仍在争议中,
一般认为它表现在以下三个方面的努力。
非诺依曼化(二)
( 1)在冯 ·诺依曼体制范畴内,对传统冯 ·诺依曼机进行改造,如采用多个处理部件形成流水处理,依靠时间上的重叠提高处理效率;又如组成阵列机结构,
形成单指令流多数据流,提高处理速度。这些方向已比较成熟,成为标准结构;
( 2)用多个冯 ·诺依曼机组成多机系统,支持并行算法结构。这方面的研究目前比较活跃;
( 3)从根本上改变冯 ·诺依曼机的控制流驱动方式。
例如,采用数据流驱动工作方式的数据流计算机,
只要数据已经准备好,有关的指令就可并行地执行。
这是真正非诺依曼化的计算机,它为并行处理开辟了新的前景,但由于控制的复杂性,仍处于实验探索之中。
1,1946年开始的第一代电子管计算机,
2,1958年开始的第二代晶体管计算机,
3,1965年开始的第三代中小规模集成电路计算机,
4,1971年开始的第四代大规模集成电路计算机,
5,1986年开始的第五代巨大规模集成电路计算机,
1.2.2 计算机系统结构的过去和未来第三节 计算机的软件本节要点:
分类软件的发展演变高级语言与机器语言的转换计算机硬件是计算机工作的物理基础,
但是仅有硬件是无法发挥计算机作用的,计算机的所有工作必须在软件控制下完成。
软件分类
·系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。
操作系统,诊断程序,编译 /解释程序,网络通信程序,数据库管理系统等
·应用软件办公自动化,数据处理,控制软件,信号处理 DSP,印刷排版,CAD,音像处理等软件的发展演变手编程序(目的程序) → 汇编语言 → 高级语言(算法语言)
高级语言与机器语言的转换转换工具:
编译系统:负责把用户用高级语言所编写的源程序编译成机器所能理解和执行的机器语言。
解释系统,直接逐一解释语句并得出计算结果第四节 计算机系统的层次结构
本节要点 计算机系统的层次结构
计算机系统是一个有硬件、软件组成的多级层次结构。(教科书 P16 图 1.6)
计算机系统的层次结构(一)
第 1级,微程序级硬件级。执行一系列微指令,解释执行机器指令
第 2级,物理机器级硬件级。执行机器指令,完成相应的功能
第 3级,操作系统级虚拟机。为系统的操作和程序设计提供平台
第 4级,汇编语言级虚拟机。为程序员提供一种符号形式语言
第 5级,高级语言级 虚拟机。提供与计算机结构无关的程序设计语言计算机系统的层次结构(二)
每一级上都能进行程序设计,且得到下面各级的支持;
第 1级~第 3级所用语言基本为二进制语言,
机器执行和解释容易;
第 4级、第 5级采用符号语言,有利于不了解硬件的人使用计算机;
级数越低越靠近硬件,级数越高使用计算机越方便;
从语言功能层次进行划分,引入 虚拟机 概念,有助于了解计算机和设计计算机。