武汉大学计算机组成原理第1章_计算机系统概论_第1页
武汉大学计算机组成原理第1章_计算机系统概论_第2页
武汉大学计算机组成原理第1章_计算机系统概论_第3页
武汉大学计算机组成原理第1章_计算机系统概论_第4页
武汉大学计算机组成原理第1章_计算机系统概论_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成与结构本科生课程教学计算机学院计算机组成与结构q 本课程着重计算机系统组成与结构的教学和研究。Ø 计算机结构定义为系统程序员所能见到的计算机硬件特性;Ø 计算机组成是指计算机硬件的具体实现。q 本课程与当代先进的计算机技术相结合,是计算机科学与技术本科专业课程,是很多计算机专业课程的前续课程。q 本课程将介绍计算机各硬件部分的组成原理及互连成整机的技术,通过本课程的学习,可以学到很多硬件方面的设计技术,特别是微程序的设计技术。计算机学院参考书q 计算机组成原理习题 (第三版 A级) 2004年4月 徐爱萍 编著q 计算机组成原理2003年1月辅导徐爱萍 编著q 计

2、算机组成原理考点精要与解题指导邮电2002年11月徐爱萍 编著计算机学院第一章计算机系统概论重点q 计算机的语言程序、系列机、硬件、软件、固件的概念;计算机系统的基本组成;q 计算机的硬件q 计算机系统的层次结构计算机系统的层次结构;计算机的发展;计算机的性能指标(放第6章)q 计算机的发展q 计算机的应用课时:2计算机学院内容提要q (一) 计算机发展历程(二) 计算机系统层次结构1. 计算机硬件的基本组成2. 计算机软件的分类3. 计算机的工作过程(三) 计算机性能指标(放第六章)q 吞吐量、响应时间;CPU时钟周期、主频、CPI、CPU执行时间;MIPS、MFLOPS。计算机学院1.1

3、计算机的语言q 计算机的语言一般可分为三类:语言、汇编语言和高级语言。一、语言q 从计算机的发展历史来看,最初在计算机中使用的语言不是高级语言,而是语言。q 用二进制代码表示的计算机语言称为以直接在计算机硬件中执行。语言,语言可计算机学院1.1 计算机的语言二、汇编语言q 用助记符编写的语言称为汇编语言,汇编语言需要通过汇编程序翻译成目标程序后才可执行。q 例如,实现简单加运算的汇编程序如下:MOV MOV ADD HALTA, 3B, 5A, B计算机学院1.1 计算机的语言三、高级语言q 和自然语言接近,并能为计算机接受的语言,称为高级语言。用高级语言编写的程序称为源程序。q 不同语言的源

4、程序,对应有不同的语言处理程序。q 语言处理方式有汇编程序、编译程序、解释程序三种。计算机学院1.1 计算机的语言q 汇编程序的功能是把汇编语言编写的源程序翻译成目标程序,其翻译过程称为汇编。语言的q 高级语言的处理程序,按其翻译的方法不同,可分为解释程序与编译程序两大类。q 解释程序对源程序的翻译采用边解释、边执行的方法,并不生成目标程序;q 编译程序必须先将源程序翻译成目标程序后,才能开始执行。计算机学院1.1 计算机的语言q 因此,计算机与语言有着密切的。q 可以将计算机解题的过程归结为:Ø 程序员编写源程序Ø 将程序输入计算机,并由编译程序编译成目标代码Ø

5、 由硬件装置运行程序,并输出结果计算机学院1.2 计算机的硬件q 实际应用的计算机系统是由计算机硬件系统、计算机软件系统及通讯网络系统组成的一个整体系统。q 一台完整的计算机系统包括硬件系统和软件系统,如下图所示。计算机学院寄 存 器运 算 器控 制 器处理 器cach eR O MP R O ME P R O M E 2 PR O M 级R O M ( 只读)cache器主机二 级内S R A M硬件系统器硬 盘软 盘光盘 外器R A M ( 随机)DRAM 键盘输 入 设 备鼠 标扫 描 仪计算机系统外设显 示 器打 印 机绘 图 仪操 作 系 统语 言 处 理 程服 务 性 程 序输出设

6、备序系统软件软件系统数 据 库 管 理 系计 算 机 网 络 软统件信 息 管 理 软 件应 用 软 件辅 助 设 计 软 件文 字 处 理 软 件各 种 程 序 包计算机学院1.2 计算机的硬件q 计算机硬件系统是指构成计算机的所有实体部件的集合。一、计算机硬件结构1、冯.诺伊曼(Von.Neumann)结构q 我们先从怎样用算盘算题研究,如用纸、笔、和算盘来计算9315×5?,完成这一套运算必须具有:Ø 运算装置算盘Ø 存题目、计算步骤、中间结果和最后结果的装置纸张Ø 进行控制的装置脑、手计算机学院1.2 计算机的硬件q 那么计算机要能自动计算,也必

7、须具备与其相似的几个装置:运算器、器、控制器;除此之外,还有输入设备、输出设备,它与人机之间起着桥梁作用。q 所以,计算机可由运算器、控制器、器、输入设备、输出设备等五个部分组成,这就是著名的Von.Neumann结构。计算机学院Von.Neumann的基本思想P6q Von.Neumann计算机体系结构的思想是“程序”。q “程序”概念的内容可以简要地概括为以下几点:计算机(指硬件)应由运算器、备五大基本部件组成;器、控制器、输入设备和输出设计算机内部采用二进制来表示指令和数据;采用程序方式将编好的程序和原始数据事先存入器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速

8、地从存储器中取出指令加以执行,这就是程序的基本含义。计算机学院早期的冯·诺依曼计算机q 在微处理器问世之前,运算器和控制器是两个分离的功能部件,加上当时器还是以磁芯器为主,计算机的信息量较少,因此早期冯·诺依曼提出的计算机结构是以运算器为中心的,其他部件都通过运算器完成信息的传递。计算机学院现代计算机组织结构随着微电子技术的进步,人们成功地研制出了微处理器。微处理器将运算器和控制 器两个主要功能部件合二为一,集成到一个里。同时,随着半导体器代替磁芯器,容量成倍地扩大,加上需要计算机处理、加工的信息量与日俱增,以运算器为中心的结构已不能满足计算机发展的需求,甚至会影响计算机的

9、性能。因此现代计算机组织结构为以器为 中心。计算机学院现代计算机组织结构图计算机学院控制信息流和数据信息流q 在Von.Neumann结构中,存在着两股信息流:控制信息流和数据信息流。q 控制信息流:其发源地是控制器,它分散流向各个部件;取指周期从内存读出的信息流是控制信息,q 数据信息流:它受控制信息的控制,从一个部件流向另一个部件,边边加工处理。执行周期从内存读出或送入内存的信息流是数据信息计算机学院计算机的硬件组成框图MEMI/OI/OALUCU计算机学院计算机的硬件组成说明1、运算器q 组成:由累加器A,通用寄存器B和算术逻辑单元ALU组成。q 功能:完成算术运算和逻辑运算。q 累加器

10、A(Accumulator):存放历次累加和的一个寄存器。(即首先在A里存放一个二进制数,当它接受另一二进制数时,在接受过程中相加,最后A里存放和,通常用触发器来实现这能。)q 通用寄存器B:用于存放参加运算的另一个操作数。q 算术逻辑单元ALU:一种执行算术运算和逻辑运算的装置,由加法器和控制门组成。计算机学院2、器q 定义:计算机中用于完成记忆功能的设备叫做器MEM。q 功能:器具有按给定地址进行写入/读出信息,并能长期保存信息的功能。q 字的概念:存入器的信息(一串二进制代码)叫做字。q 字的分类:器中的字基本上可分为两类:一类时指令(即指令字);另一类是操作数(即数据字)。计算机学院3

11、、控制器q 控制器由三大部件组成:指令序部件和控制部件q 指令部件:q 程序计数器PC(Procedure Count):存放现行指令地址,通常还决定下一条指令地址,其方法是将现行指令地址加1。q 指令寄存器IR(Instruction Register):存放正在执行的指令。q 指令译码器ID(Instruction Decoder):将指令的操作码译成相应的控制信号去控制相应的电路。计算机学院q 时序部件:包括时钟源、节拍发生器及微操作电路。q 控制部件:由各控制电路组成。q 4、I/O设备q 输入设备的任务:能将计算程序、原始数据及某些字符以计算机能识别的形式送到中,供自动计算用。q 输

12、出设备的任务:能将计算机的工作结果或回答信号以人能识别的各种形式表达出来。q 复合I/O设备:既能作为输入又能作为输出的设备。计算机学院q 在现代计算机中,将寄存器、运算器、控制器、cache合在一起,称为处理器(CPU),而将CPU、器、输入输出接口和系统总线组装在一个机壳内,称为主机。q 输入设备和输出设备统称输入输出设备,有时也称外部设备,因为它们位于主机的外部。计算机学院软件与硬件的关系q 硬件系统是软件系统的基础,没有硬件系统软件就不能运行;没有系统软件,计算机就不能发挥其效能。q 任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,同样也可以由软件来完成。q

13、 计算机系统的软件与硬件可以互相转化,它们之间互为补充。q 将程序固定在ROM中组成的部件称为固件。固件是一种具有软件特性的硬件,它既具有硬件的快速性特点,又有软件的灵活性特点。这是软硬件相互转化的一个示例计算机学院1.3 计算机系统的层次结构现代计算机不能简单地认为是一种电子设备,而是一个十分复杂的硬、软件结合而成的整体。从使用语言的角度上,将计算机系统看成按功能划分的多级层次结构、汇编、高级、应用语言低级高级后者比前者功能更强、使用更方便;而前者是后者发展的基础,在单条指令的执行速度相比较,前者更快。计算机学院1.3 计算机系统的层次结构M4虚拟(高级语言级)应用软件M3 (汇编语言级)虚

14、拟系统软件M2 (操作系统语言)虚拟硬件系统M1实际(微程序)计算机系统的层次结构示意图计算机学院1.3 计算机系统的层次结构q 第一级是微程序设计级。这是一个实在的硬件级,它由机器硬件直接执行微令。q 第二级是操作系统级,它由操作系统程序实现。q 第三级是汇编语言级,它给程序提供一种符号形式语言,以减少程序编写的复杂性。这一级由汇编程序支持和执行。q 第四级是高级语言级,这是面向用户的,为方便用户编写应用程序而设置的 。计算机学院计算机系统层次结构细分应用软件应用语言级L5虚拟机翻译(应用程序包)高级语言L4虚拟机翻译(编译程序)汇编语言L3虚拟机系统软件翻译(汇编程序)L2虚拟机操作系统部

15、分解释(操作系统)软硬件交界面硬解释固直接由硬件执行硬联逻辑电路计算机学院件传统级物理件微程序级语言)多级层次结构(M5: 应用语言M4: 高级语言-应用语言(L5)-高级语言(L4)M3: 汇编语言-汇编语言(L3)-作业控制语言(L2)M2: 操作系统M1: 传统M0: 微程序-指令系统(L1)-微指令系统(L0)计算机学院从设计看到的层次应用程序级高级语言级汇编语言级操作系统级用户高级语言程序员汇编语言程序员操作员语言程序员语言级微程序控制级硬联逻辑级逻辑程序员硬件设计员计算机学院M0是硬件实现, M1是微程序(固件)实现, M2到M5大多是软件实现的。固件(Firmware):指在计算

16、机ROM和其他集成电路中的系统软件,固件不能随意改变虚拟机由软件实现的实际由硬件或固件实现的计算机学院层次间的关系q 在多级层次结构中,将除硬件系统之外的上面三级层次称为虚拟机。q 所谓虚拟计算机是指这个计算机只对该级的观察者存在。对某一层次的观察者来说,他只能是通过该层次的语言来了解和使用计算机,至于下层是如何工作和实现的就不必关心了。简而言之,虚拟计算机即是由软件实现的。q 层次之间的关系紧密,上层是下层功能的扩展,下层是上层的基础,层次划分不是绝对的。计算机学院层次间的关系翻译(Translation):先用转换程序将高一级级上的程序整个地变换成低一级程序),然后再在低一级例:英语翻译级

17、上可运行的等效程序(中间级上去实现的技术。计算机系统中的翻译功能常由应用程序包、编译程序、汇编程序等软件完成。计算机学院层次间的关系解释(Interpretation):在低一级级上用它的一串语句或指令来能,通过对高一级高一级上的一条语句或指令的功语言程序中的每条语句或指令逐条解释来实现的技术解释过程中不生成中间程序(节省了或者:一条N+1级指令-一串N级指令例:解释一件事空间)计算机学院层次间的关系翻译和解释是语言实现的两种基本技术。解释比翻译费时,但节省空间翻译为整体行为,可以优化,效率高,与平台有关解释为局部行为,不优化,效率低,与平台无关翻译+解释:Java计算机学院例1¾一

18、个经解释实现的计算机,按功能划分为4级,每一级为了执行一条指令需要下一级N条指令解释,若执行第一级的一条指令需K(ns)时间,那么执行第2、3、4级的一条指令各需要用多少时间(ns)?Ø 解:第2级的一条指令需第1级的N条指令解释,所以:Ø 第2级的一条指令需要的时间为NK(ns);Ø 第3级的一条指令需要的时间为N2K(ns);Ø 第4级的一条指令需要的时间为N3K(ns);计算机学院例2有一个计算机系统可按功能划分成4级,各级的指令都不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。现若需第i

19、级的N条指令解释第i+1级的一条指令,现有一段第1级的程序需要运行Ks,问在第2、3和4级上的一段等效程序各需要运行多长时间(s)?解:第2级上的一段等效程序运行时间为: N ´ K (s)N M)2 ´ K (s)第3级上的一段等效程序运行时间为:(M( N )3 ´ K (s)第4级上的一段等效程序运行时间为:MN<M 运行的时间才能缩短。计算机学院第4级1条=M(第2级)第3级第2级1条=M(第1级)N条解释第3级1条N条解释第2级1条第1级Ks计算机学院1.4 计算机的发展q 基本定义:电子计算机是一种自动、高速、精确地完成各式各样信息、数字逻辑(模

20、拟)计算和控制功能地电子。q 基本功能:数字计算、逻辑运算、模拟运算等功能。q 物质基础:电子器件。计算机学院1.4 计算机的发展q 回顾计算机的发展, 关键性的两个历史就是现代计算机的体系结构的形成及其实现技术的发明。前者要归功于两位数学家的杰出贡献, 后者要归功于四位物理学家的不懈努力。在计算机体系结构方面贡献最大的就要数英国数学家布里顿·艾伦·图灵(B ritonA lan Tu ring) 和美国数学家冯·诺依曼(Von N eum aun) 了。q 在1935 年到1936由图灵设计的抽象计算机“图灵机”。它是最简单的“理论上的”数字计算机,当代计算机只

21、是这种理想化的图灵抽象机的一种极好的近似。因此, 图灵被人们公认为计算机科学之父.计算机学院1.4计算机的发展q 1946年美国宾夕法尼亚大学研制了第一台由程序控制的电子数字计算机ENIAC (Electronic Numerical Intergator and Calculator,它采用了18800个电子管,7000个电阻,10000个电容,1500个继电器;重36吨,长30米,宽1米,高3米;加法运算速度5000次/秒,乘法运算速度500次/秒)主要缺点:(1)容量小,只能20个字长为10位的十进制数;(2)用线路连接编程,每次解题都要人工改接线,准备时间超出运算时间。计算机学院1.4

22、计算机的发展计算机学院1.4计算机的发展Von.neumann与莫尔小组研制了EDVAC(Electronic Discrete Variable Automatic Computer 电子数据计算机)系统。主要特点:(1)由运算器、控制器、器、输入设备和输出设备五部分组成;(2)采用程序方式;(3) 采用二进制;(4) 指令由操作码和地址组成,按顺序存放在在单元的地址;器中,由PC指明所(5)以运算器为中心,I/O设备及MEM间的数据都通过运算器。q 按电子器件的发展把计算机的发展分为以下几个:计算机学院1.4计算机的发展q 第一代计算机(19461957)电子管主要特点:电子管作为开关元件

23、;使用。语言;可以信息;输入输出慢。q 第二代计算机(19581964)晶体管主要特点:晶体管代替电子管;采用磁心。器;汇编语言取代语言。q 第三代计算机(19651971)中小规模集成电路主要特点:集成电路取代晶体管;采用半导体操作系统等。器;使用了计算机学院1.4计算机的发展q 第四代计算机(1972至今)超大规模集成电路主要特点:采用集成度很高的电路;出现了微处理器等。随着大规模集成电路技术的发展,微型计算机诞生了。微型计算机按所采用的Intel微处理器的型号来划分,可划分为以下几代:计算机学院1.4计算机的发展q 采用Intel 8088处理器的微型计算机IBMPC和IBMPCXT为第

24、1代微型计算机;q 采用Intel 80286处理器的微型计算机IBMPCAT为第2代微型计算机(简称286);q 采用Intel 80386处理器的微型计算机为第3代微型计算机(简称386);q 采用Intel 80486处理器的微型计算机为第4代微型计算机(简称486);q 采用Pentium处理器的微型计算机为第5代微型计算机(简称586)。Pentium Pro微处理器MMX及MMX Pentium微处理器Pentium II和Pentium III微处理器新一代64位微处理器Merced计算机学院1.4计算机的发展q 第五代计算机第五代计算机将向着超导计算件、光学计算件、量子计算件和

25、生物计算件发展,来取代今天的大规模集成电路,谁最先完成这个研究,谁将在将来可能就占有主动权了。q 第六代计算机-第六代计算机将在体系结构上来个彻底的更新换代,由知识库、 推理机、 多组成。q 总之,计算机的发展包括两个方面:元器件的发展和体系结构的发展.计算机学院1.4 计算机的发展二、计算机软件的发展q 1.机:没有软件的,早期的计算机属于这种。q 2. 软件及发展软件(程序系统):把能按人的思维进行操作的各种程序称为软件系统或程序系统。软件发展:语言:由0、1各种不同的代码排列而成,且内部有相应电路执行其代码的手编程序:由人工直接用。语言按照指令表编写的目的程序。计算机学院1.4 计算机的

26、发展汇编语言:用约定的文字符合、数字按规定的格式来表示不同的指令以编制程序。汇编程序:把汇编语言变成”。能懂的语言的一种“翻译程序编译语言:高级语言有很多种,如ALGOL、FORTRAN、COBOL、BASIC、PASCAL、C、ADA等。编译程序:把编译语言变成能够识别的一种“翻译程序”q 总之,软件的发展包括:语言(手编程序)、汇编语言(汇编程序)、编译语言( 编译程序)三个阶段以及函数型语言、逻辑型语言等新的分支。计算机学院1.4 计算机的发展三、计算机的发展趋向q 1. 研制高速度、强功能的巨型机;q 2. 发展微型机及微处理器;q 3. 发展计算机网络工程;q 4. 发展软件应用工程

27、。计算机学院1.4 计算机的发展四、国外计算机发展q 1938年Konrad Zuse建成了第一台二进制的机电式通用计算机Z-1;q 1943年Alan Turing等建成了一台真空管计算机;q 1945年J.W.Mauchley教授等建成了ENIAC;q 1947年由IBM公司和哈佛大学共同研制成自电式哈佛Mark-I计算机;q 1948年曼彻斯特Mark-I成为第一台q 1952年EDVAC研制成功;程序的数字计算机;q 1952年IBM研制成第一程序电子计算机IBM701;计算机开发成功;用的q 1954年Univac1103A成为第一台计算机学院1.4 计算机的发展q 1956年采用晶体管的Univac计算机开发成功;q 1960年DEC公司11月研制成PDP-1,第一台具有显示器和键盘的商用计算机;q 1961年IBM研制成7030,号称超级计算机;q 1962年英国研制成Atlas计算机,首次采用了虚拟q 1964年IBM宣布研制成System/360;器和流水操作;q 1964年CDC6600研制成功,第一台超级计算机;q 1965年DEC推出PDP-8,采用晶体管线路;q 1968年Seymour Cray设计成功CDC7600超级计算机,40MFLOPS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论