《计算机组成与结构》
——本科生课程教学计算机学院计算机学院
(
(
XBXU)
XBXU)
计算机学院(XBXU)
计算机组成与结构计算机组成与结构
?本课程主要讲授计算机系统的硬件和软件构成方法,包括硬件系统中运算器、控制器、存储器、输入设备和输出设备和总线系统的构成原理等;并与当代先进的计算机技术相结合。是计算机科学与技术本科专业核心课程。
?本课程着重计算机系统组成与结构方面的教学和研究。
?计算机结构定义为系统程序员所能见到的计算机硬件特性;
?计算机组成是指计算机硬件的具体实现。
计算机学院(XBXU)
第一章第一章计算机系统概论计算机系统概论
?计算机的语言
?计算机的硬件
?计算机系统的层次结构
?计算机的发展
?计算机的应用计算机学院(XBXU)
1.1
1.1
计算机的语言计算机的语言
?计算机的语言一般可分为三类:机器语言、汇编语言和高级语言。
一、机器语言
?从计算机的发展历史来看,最初在计算机中使用的语言不是高级语言,而是机器语言。
?用二进制代码表示的计算机语言称为机器语言,机器语言可以直接在计算机硬件中执行。
计算机学院(XBXU)
1.1
1.1
计算机的语言计算机的语言二、汇编语言
?用助记符编写的语言称为汇编语言,汇编语言需要通过汇编程序翻译成目标程序后才可执行。
?例如,实现简单加运算的汇编程序如下:
MOV A,3
MOV B,5
ADD A,B
HALT
计算机学院(XBXU)
1.1
1.1
计算机的语言计算机的语言三、高级语言
?用高级语言编写的程序称为源程序。
?不同语言的源程序,对应有不同的语言处理程序。
?语言处理方式有汇编程序、编译程序、解释程序三种。
计算机学院(XBXU)
1.1
1.1
计算机的语言计算机的语言
?汇编程序的功能是把汇编语言编写的源程序翻译成机器语言的目标程序,其翻译过程称为汇编。
?高级语言的处理程序,按其翻译的方法不同,可分为解释程序与编译程序两大类。
?解释程序对源程序的翻译采用边解释、边执行的方法,并不生成目标程序;
?编译程序必须先将源程序翻译成目标程序后,才能开始执行。
计算机学院(XBXU)
1.1
1.1
计算机的语言计算机的语言
?因此,计算机与语言有着密切的联系。
?可以将计算机解题的过程归结为:
?程序员编写源程序
?将程序输入计算机,并由编译程序编译成目标代码
?由硬件装置运行程序,并输出结果计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
?实际应用的计算机系统是由计算机硬件系统、计算机软件系统及通讯网络系统组成的一个整体系统。
?一台完整的计算机系统包括硬件系统和软件系统,如下图所示。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
寄存器 ROM
中央处理器 运算器 ROM(只读) PR O M
主 机 控制器 EPROM
内存储器 E
2
PROM
硬 存储器 硬盘 SRAM
件 外存储器 软盘 RAM(随机)
系 光盘 DRAM
统 键盘
输入设备 鼠标
扫描仪
计 外设
算 显示器
机 输出设备 打印机
系 绘图仪
统 操作系统
语言处理程序
系统软件 服务性程序
软 数据库管理系统
件 计算机网络软件
系 信息管理软件
统 应用软件 辅助设计软件
文字处理软件
各种程序包
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
?计算机硬件系统是指构成计算机的所有实体部件的集合。
一、计算机硬件结构
1、冯.诺伊曼(Von.Neumann)结构
?我们先从怎样用算盘算题研究,如用纸、笔、和算盘来计算93-15×5=?,完成这一套运算必须具有:
?运算装置--算盘
?存题目、计算步骤、中间结果和最后结果的装置--纸张
?进行控制的装置--脑、手计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
?那么计算机要能自动计算,也必须具备与其相似的几个装置:运算器、存储器、控制器;除此之外,还有输入设备
、输出设备,它与人机之间起着桥梁作用。
?所以,计算机可由运算器、控制器、存储器、输入设备、
输出设备等五个部分组成,这就是著名的Von.Neumann结构。如下图所示。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
I/O
MEM
ALU
CU
I/O
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
?在Von.Neumann结构中,存在着两股信息流:控制信息流和数据信息流。
?控制信息流:把操作者的意图和命令及时地传给执行部件
,使之有节奏地启动机器工作或完成后停机。
?数据信息流:把待运算的内容传送到指定的处所加工,并把结果送到指定的存储地点。
?两股信息流都来源于内存储器,出来后工控制信息流送到控制器并受控制器的调度,数据信息流则进入运算器,并在运算器按控制器发来的命令进行加工运算。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
?为适应信息流在各部件的顺畅流通,Von.Neumann结构中设计了三种类型的信息流通通路(即三种类型的总线):
地址总线AB、数据总线DB和控制总线CB。
? CPU发出的控制命令经控制总线CB送I/O、MEM,控制其指定的操作;同时CPU经地址总线AB向MEM、I/O设备发送地址,并经数据总线DB传送数据,使之协调控工作。
?总线是计算机内部信息流通的一个通路,物理上的一组并行的导线,其数目与计算机字长有关。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
2、以CPU为中心的双总线结构
?特点:具有I/O总线和存储总线,以CPU为中心,处理效率高。因存取数据时必须通过运算器,从而影响了运算器的工作效率。
I/O 1
I/O n
.
.
CPU
MEM
I/O BUS
MEM BUS
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
? 3、以MEM为中心的双总线结构
?特点:具有I/O总线和存储总线,以MEM为中心,数据处理效率高。
I/O 1
I/O n
.
.
MEM
CPU
I/O BUS
MEM BUS
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
? 4、单总线结构
?特点:所有的设备都联接同一总线上,结构简单,增减设备容易。大多数微机都采用这种结构。
CPU
I/O 1
MEM
I/O 2 I/O n
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件二、计算机硬件部件
PC
AR
RAM
DR
H
A B
IR
ID
PLA
F
ALU
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
1、运算器
?组成:由累加器A,通用寄存器B和算术逻辑单元ALU组成。
?功能:完成算术运算和逻辑运算。
?累加器A(Accumulator):存放历次累加和的一个寄存器。(
即首先在A里存放一个二进制数,当它接受另一二进制数时
,在接受过程中相加,最后A里存放和,通常用触发器来实现这一功能。)
?通用寄存器B:用于存放参加运算的另一个操作数。
?算术逻辑单元ALU:一种执行算术运算和逻辑运算的装置,
由加法器和控制门组成。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
2、存储器
?定义:计算机中用于完成记忆功能的设备叫做存储器MEM。
?功能:存储器具有按给定地址进行写入/读出信息,并能长期保存信息的功能。
?字的概念:存入存储器的信息(一串二进制代码)叫做字

?字的分类:存储器中的字基本上可分为两类:一类时指令
(即指令字);另一类是操作数(即数据字)。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
3、控制器
?控制器由三大部件组成:指令部件、时序部件和控制部件
?指令部件:
?程序计数器PC(Procedure Count):存放现行指令地址,通常还决定下一条指令地址,其方法是将现行指令地址加1。
?指令寄存器IR(Instruction Register):存放正在执行的指令。
?指令译码器ID(Instruction Decoder):将指令的操作码译成相应的控制信号去控制相应的电路。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
?时序部件:包括时钟源、节拍发生器及微操作电路。
?控制部件:由各控制电路组成。
? 4、I/O设备
?输入设备的任务:能将计算程序、原始数据及某些字符以计算机能识别的形式送到机器中,供机器自动计算用。
?输出设备的任务:能将计算机的工作结果或回答信号以人能识别的各种形式表达出来。
?复合I/O设备:既能作为输入又能作为输出的设备。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件三、计算机的性能指标
?要了解一台计算机的综合性能可以从以下几方面来衡量:
? 1.CPU:
?主频:主频是一个主要性能指标,很大程度上决定了计算机的运算速度,单位是MHZ。
?字长:字长标志着机器的计算精度。
?运算速度:用“每秒钟计算次数”来衡量,也可以用“每秒钟执行指令的数量”来衡量。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
?运算方式:串行运算,并行运算。
?指令系统:根据指令功能齐全程度来衡量。
?中断系统:单重中断,多重中断。
2.MEM
?存储周期:用存储器从接收到读写命令开始,到完成读写操作需要的时间来衡量;它反映了存储器的速度,也直接决定CPU的运算速度。
?存储容量:存储器所能存放的最大信息量,一般以字节为单位。如,1024B即1KB、MB、GB、TB等。
计算机学院(XBXU)
1.2
1.2
计算机的硬件计算机的硬件
3.I/O
?基本外设:机器能配套工作的必须设备。
?允许配置的最大外设量:能够配置的最大外设数量。
4.Software
?能够配备软件功能齐全程度,如操作系统的数量,在各种操作系统下可支持的语言,应用软件的兼容性。
计算机学院(XBXU)
1.3
1.3
计算机系统的层次结构计算机系统的层次结构
?现代计算机不能简单地认为是一种电子设备,而是一个十分复杂的硬、软件结合而成的整体。它通常由五个以上不同的级组成,每一级都能进行程序设计,如下图所示。
计算机学院(XBXU)
1.3
1.3
计算机系统的层次结构计算机系统的层次结构虚拟机器M4 (高级语言级)
虚拟机器M3 (汇编语言级)
虚拟机器M2 (操作系统语言)
虚拟机器M1 (微程序)
应用软件系统软件硬件系统计算机系统的层次结构示意图计算机学院(XBXU)
1.3
1.3
计算机系统的层次结构计算机系统的层次结构
?第一级是微程序设计级。这是一个实在的硬件级,它由机器硬件直接执行微令。
?
?第二级是操作系统级,它由操作系统程序实现。
?第三级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性。这一级由汇编程序支持和执行。
?第四级是高级语言级,这是面向用户的,为方便用户编写应用程序而设置的。
计算机学院(XBXU)
1.3
1.3
计算机系统的层次结构计算机系统的层次结构
?在多级层次结构中,将除硬件系统(第一层和二级层)之外的上面三级层次称为虚拟机。所谓虚拟计算机是指这个计算机只对该级的观察者存在。对某一层次的观察者来说,他只能是通过该层次的语言来了解和使用计算机,至于下层是如何工作和实现的就不必关心了。简而言之,虚拟计算机即是由软件实现的机器。
?层次之间的关系紧密,上层是下层功能的扩展,下层是上层的基础,层次划分不是绝对的。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展
?基本定义:电子计算机是一种自动、高速、精确地完成各式各样信息存储、数字逻辑(模拟)计算和控制功能地电子机器。
?基本功能:数字计算、逻辑运算、模拟运算等功能。
?物质基础:电子器件。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展一、计算机硬件的发展
? 1,1642年Bascale(Pascal)创造了第一台加减运算器,用于法国税收控制,取得了很大的成绩。为纪念他,有一种编译语言就是以Pascal命名的。
1694年Leibuliz创造了完整的四则运算器。
这以阶段共同特点是:机器的每一步运算都要人工控制。
19世纪20年代Babbage提出了自动计算机的设想。
1889年Halleritn提出了用卡片来存储指令和数据的原理,
研制了卡片机。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展
? 2,20世纪初IBM和Bell公司研制了许多继电器式的计算机。
? 3,1946年美国宾夕法尼亚大学研制了第一台由程序控制的电子数字计算机ENIAC(Electronic Numerical Intergator
and Calculator,它采用了18800个电子管,7000个电阻,
10000个电容,1500个继电器;重36吨,长30米,宽1米,
高3米;加法运算速度5000次/秒,乘法运算速度500次/秒)
主要缺点:(1)存储容量小,只能存储20个字长为10位的十进制数;(2)用线路连接编程,每次解题都要人工改接线,准备时间超出运算时间。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展
? 4,1949年Von.neumann与莫尔小组研制了EDVAC系统。
主要特点:(1)由运算器、控制器、存储器、输入设备和输出设备五部分组成;(2)采用存储程序方式;(3)
采用二进制;(4)指令由操作码和地址组成,按顺序存放在存储器中,由PC指明所在单元的地址;(5)机器以运算器为中心,I/O设备及MEM间的数据都通过运算器。
? 5,电子器件的发展:
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展
?第一代计算机(1946~1957)----电子管时代。
主要特点:电子管作为开关元件;使用机器语言;可以存储信息;输入输出慢。
?第二代计算机(1958~1964)----晶体管时代。
主要特点:晶体管代替电子管;采用磁心存储器;汇编语言取代机器语言。
?第三代计算机(1965~1971)----中小规模集成电路时代。
主要特点:集成电路取代晶体管;采用半导体存储器;使用了操作系统等。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展
?第四代计算机(1972至今)----超大规模集成电路时代主要特点:采用集成度很高的电路;出现了微处理器等。
?第五代计算机(目前)----新一代计算机
?总之,计算机硬件的发展包括两个方面:
硬设备:看得见的硬件和设备,如板、卡、盘、打印机等硬结构:联系各硬件的方案,如Von.Neumann结构。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展二、计算机软件的发展
? 1,裸机:没有软件的机器,早期的计算机属于这种。
? 2,软件及发展软件(程序系统):把能按人的思维进行操作的各种程序称为软件系统或程序系统。
软件发展:
机器语言:由0、1各种不同的代码排列而成,且机器内部有相应电路执行其代码的各种操作。
手编程序:由人工直接用机器语言按照指令表编写的目的程序。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展汇编语言:用约定的文字符合、数字按规定的格式来表示不同的指令以编制程序。
汇编程序:把汇编语言变成机器能懂的语言的一种“翻译程序”。
编译语言:高级语言有很多种,如ALGOL、FORTRAN、
COBOL、BASIC、PASCAL、C、ADA等。
编译程序:把编译语言变成机器能够识别的一种“翻译程序”
?总之,软件的发展包括:
机器语言(手编程序)、汇编语言(汇编程序)、编译语言(编译程序)三个阶段以及函数型语言、逻辑型语言等新的分支。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展三、计算机的发展趋向
? 1,研制高速度、强功能的巨型机;
? 2,发展微型机及微处理器;
? 3,发展计算机网络工程;
? 4,发展软件应用过程。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展四、国外计算机发展
? 1938年Konrad Zuse建成了第一台二进制的机电式通用计算机Z-1;
? 1943年Alan Turing等建成了一台真空管计算机;
? 1945年J.W.Mauchley教授等建成了ENIAC;
? 1947年由IBM公司和哈佛大学共同研制成自动机电式哈佛
Mark-I计算机;
? 1948年曼彻斯特Mark-I成为第一台存储程序的数字计算机;
? 1952年EDVAC研制成功;
? 1952年IBM研制成第一台军用的存储程序电子计算机
IBM701;
? 1954年Univac1103A成为第一台商用计算机开发成功;
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展
? 1956年采用晶体管的Univac商用计算机开发成功;
? 1960年DEC公司11月研制成PDP-1,第一台具有显示器和键盘的商用计算机;
? 1961年IBM研制成7030,号称超级计算机;
? 1962年英国研制成Atlas计算机,首次采用了虚拟存储器和流水操作;
? 1964年IBM宣布研制成System/360;
? 1964年CDC6600研制成功,第一台商用超级计算机;
? 1965年DEC推出PDP-8,采用晶体管线路;
? 1968年Seymour Cray设计成功CDC7600超级计算机
,40MFLOPS;
? 1971年Intel推出第一个微处理器芯片4004;
计算机学院(XBXU)
? 1972年DEC推出PDP-11;
? 1975年第一台微型机Altair8800研制成功;
? 1976年Cray-1研制成功,第一台向量结构超级计算机;
? 1977年Tony和Commodore推出商品微机;
? 1980年Apollo公司研制出第一台工程工作站;
? 1981年IBM推出PC机;
? 1982年Cray X-MP推出,将两台Cray-1链接在一起;
? 1982年日本强调“第五代”计算机项目;
? 1985年Cray-2和Connection Machine 研制成功,性能均达每秒十亿次运算;
? 1989年Cray-3研制成功,采用砷化稼芯片;
? 1991年Cray Y-MP C90研制成功,采用16个CPU。
计算机学院(XBXU)
1.4
1.4
计算机的发展计算机的发展五、国内计算机的发展
? 1958年我国第一台电子数字计算机投入运行(1956年开始设计);
? 1959年我国国产104型大型机投入运行;
? 1967年我国第一台晶体管大型机研制成功;
? 1974年我国第一台多用途集成电路小型机仿制成功;
? 1983年12月成功研制巨型机“银河机组”,1亿次/秒;
? 1992年11月19日鉴定了“银河II机组”,10亿次/秒,4个CPU
,用了5年时间;
? 1997年6月成功研制了“银河III机组”,100亿次/秒,128个
CPU,可扩展到2048个CPU,大规模并行运算;
? 1999年5月18日鉴定了“探索108集群计算机系统”,160亿次/
秒。
计算机学院(XBXU)
1.5
1.5
计算机的应用计算机的应用一、计算机分类
? 1、按信息的形式和处理方式分
?数字计算机、模拟计算机、数模混合计算机。
? 2、按计算机的用途分
?通用计算机、专用计算机。
? 3、按计算机规模分
?巨型机、大型机、中型机、小型机微型机等。
计算机学院(XBXU)
1.5
1.5
计算机的应用计算机的应用二、计算机的应用
? 1.科学计算
? 2.信息管理中的数据处理
? 3.科技工程中的数据处理
? 4.自动控制
? 5.计算机辅助设计(CAD),计算机辅助制造(CAM),计算机模拟,计算机辅助教学(CAI)
? 6.人工智能计算机学院(XBXU)
1.5
1.5
计算机的应用计算机的应用计算机学院(XBXU)
第一章第一章计算机系统概论计算机系统概论
?第一章习题
? P.14,1.1;1.2;1.3;1.5;1.6;1.8
END