计算机组成原理第1章ppt课件_第1页
计算机组成原理第1章ppt课件_第2页
计算机组成原理第1章ppt课件_第3页
计算机组成原理第1章ppt课件_第4页
计算机组成原理第1章ppt课件_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

.,计算机组成原理,学时:80学时,.,第1章计算机系统概述,计算机是一种能自动、快速、准确地实现信息存储、数值计算、数据处理和过程控制等多种功能的电子机器,是一个复杂的系统。本书采用自顶向下、由表及里的方法来描述计算机系统。从系统的主要部件开始,描述它的结构和功能,然后逐级深入推进到层次结构的底层。本章首先简单介绍程序员与计算机的接口界面:计算机的语言;然后介绍如何使用RTL语言来描述数字系统;接着介绍计算机的发展演变和性能指标;最后重点讨论计算机的基本组成和工作原理,以期提供一个计算机系统的整个概貌。,.,1.1计算机的语言,计算机程序设计语言分为三类:高级语言、汇编语言和机器语言。,.,1.1.1高级语言,高级语言是一种近似自然语言并能被计算机接受的语言,指那些具有最高级抽象的语言。这些语言隐藏了计算机和操作系统的细节,被称之为平台无关。C+、Java和Fortran等都是高级语言。使用高级语言描述任务最简单、直观、高效且容易理解,但需要有编译器的支持。,.,1.1.2机器语言,机器语言是微处理器能直接识别并执行的唯一一种语言,其表现形式是二进制编码。机器语言是最低级的程序设计语言,具有平台特定性,每一种微处理器都有自己的机器语言。用机器语言编写的程序不易阅读、出错率高、难以维护,也不能直观地反映使用计算机解决问题的基本思路,因此现在几乎不被程序员采用。然而,由高级语言和汇编语言编写的程序可以转换成机器语言,然后再由微处理器执行。,.,1.1.3汇编语言,汇编语言是面向机器的程序设计语言,与平台相关,它能利用计算机所有硬件特性并能直接控制硬件。它实际上是机器语言的符号化,亦称为符号语言。计算机不能直接识别使用汇编语言编写的程序,需要将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,它比高级语言的编译器要简单很多。汇编语言比机器语言易于读写、调试和修改,同时具有机器语言的全部优点,即目标代码简短,占用内存少,执行速度快,能有效地访问和控制计算机的各种硬件设备。但在编写复杂程序时,相对高级语言来说代码量较大,开发效率较低。,.,1.2寄存器传输语言,.,1.2.1微操作和寄存器传输语言,寄存器传送语言RTL(RegisterTransferLanguage)是初级硬件描述语言,适用于描述寄存器级的硬件组成,能精确而简练地描述计算机的各种基本操作。微操作(micro-operation)是计算机中最基本的操作,这些操作可以简单到从一个寄存器拷贝数据到另一个寄存器中,或者更复杂,例如,把两个寄存器中的数据相加存储到第三个寄存器中。,.,用RTL描述微操作有三种语句形式:条件:微操作条件:IF(另一个控制条件)THEN(微操作)IF(整个控制条件)THEN(微操作)例如,有两个1位寄存器X和Y的一个数字系统,在输入控制为高时,拷贝寄存器Y的内容到寄存器X中的微操作可以表示为:XY此微操作可经由直接连接实现,如图1-1(a)所示;或通过总线连接实现,如图1-1(b)所示。,.,图1-1具有控制信号的数据传送:XY的实现:(a)用直接通路(b)用总线,.,提高系统性能的一种方法是同时执行两个或多个微操作。例如,如果某系统在=1时执行XY和YZ的传送,则这种情况可以表示成:XY,YZ或者:YZ,XY图1-2给出了实现上述微操作的硬件,注意这里不能使用单一的总线来实现。,图1-2数据传送:XY,YZ的实现,.,数字系统中有可能需同时拷贝相同的数据到多个目的地。例如,1时发生下述情况:XY,ZY寄存器Y可同时被多个寄存器读取,两个微操作可同时执行。一种实现方法如图1-3所示。,图1-3实现数据传送:XY,ZY,.,另一方面,数字系统不能同时往同一寄存器中写入两个不同的值。例如,:XY,XZ是无效的。有时需要访问一个寄存器的单一位或位组。单一位可以用带有下标的字母表示,如X3或Y2。位组在RTL中可以用一个域表示;它们包含在圆括号中。如X3、X2和X1可以写成X(3-1)或X(3:1)。下述表示是有效的。:X(3-1)Y(2-0):X3X2:X(3-0)X(2-0),X3,.,1.2.2用RTL表示数字系统,1.数字元件表示第一个例子,考虑如图1-4(a)所示的D触发器。其功能可用RTL语句表示为:LD:QD当LD的输入为高时,便装载D输入端的值,并且输出端Q可得到此值。图1-4(b)表示的D触发器有一同步清0输入端。当CLR1时,触发器应被置为0。,图1-4D触发器:(a)无清0输入端(b)有清0输入端,.,用RTL代码描述此触发器的一种尝试为:LD:QDCLR:Q0然而当D、LD和CLR都等于1时,系统会失败。解决的方法是改变条件使得两者互斥。下述两种方法均有效,前者让CLR输入端优先,而后者让LD优先。CLRLD:QDLD:QDCLR:Q0LDCLR:Q0,.,第二个例子,考虑一个没有CLR输入端的JK触发器。它的行为可用RTL描述如下:JK:Q0JK:Q1JK:QQ当JK0时,不满足条件,触发器保持它原有的值,此时不需要RTL语句,因为没有传送。,.,2.数字系统表示下面将使用RTL来设计一个模6计数器。首先,用RTL表示计数器的功能,之后用数字逻辑实现RTL的代码。模6计数器是一个3位的计数器,它按序计数:000001010011100101000(0123450)其输入端U控制计数。当U1时,计数器在时钟的上升沿增加它的值。当U0时,不管时钟的值如何,它都保持当前值不变。计数器的值用3位输出V2V1V0表示。当值从5变到0时,进位输出C的值为1,否则为0。在该例子中,C值保持1不变,直到计数器从0变到1为止。,.,图1-5模6计数器的状态图,该计数器的有限状态机需有六个状态,任意标识为S0、S1、S2、S3、S4和S5,状态Si相应于计数器的输出i,状态按下列顺序排列:S0S1S2S0S4S5S0此外,为了处理模6计数器电源开启位于无效状态的情形,我们包含另两个状态S6和S7。根据该计数器的工作情况,很易得出其状态表如表1-3所示,其状态图如图1-5所示。,.,表1-3模6计数器的状态表,.,为了用RTL表示该系统,首先需定义条件S0到S7对应于V2V1V0从000到111,然后考虑模6计数器的每种可能行为。当计数器的值从000变到100且它的U信号有效时,计数器的输出增加。相应的RTL语句为:(S0+S1+S2+S3+S4)U:VV+1,C0当计数器在状态S5(V101)且U1时,计数器一定置为000,且C置为1,即:S5U:V0,C1在无效状态时,不管U值为多少均发生同样的赋值:S6+S7:V0,C1上述两条RTL触发相同的微操作,可以结合起来。最后考虑(S0+S1+S2+S3+S4+S5)U的情况,此时,计数器保持当前值与C值不变,不需RTL语句表示。因此,整个模6计数器的行为可以用下列两条RTL语句表示:(S0+S1+S2+S3+S4)U:VV+1,C0S5US6S7:V0,C1,.,图1-6表明了该RTL代码的两种实现。第一种实现用一个3位并行加法器单独产生V+1和置C值。第二种实现用一个3位的计数器。尽管第二种方法更加简单,但两者均是RTL代码的有效实现。,.,图1-6模6计数器RTL代码的两种实现(a)用一个寄存器(b)用一个计数器,.,1.3计算机的发展演变和性能,.,1.3.1计算机简史,自从1946年美国宾夕法尼亚大学WMauchly、JPEckert两位教授研制的第一台计算机ENIAC(ElectronicNumericalIntergratorAndCalculator)问世以来,计算机的发展已经历了60多年。,.,1第一代(1946年1959年):电子管计算机主要特点:逻辑元件电子管主存磁鼓辅存磁带软件机器语言、符号语言应用科学计算主要成就:数字电子计算机的出现,揭开了人类历史的新篇章。1945年美国普林斯顿大学教授约翰冯诺依曼提出了“存储程序的概念”,即程序和数据一起存放在存储器中。该思想奠定了现代计算机组成与工作原理的基础,被称为冯诺依曼思想;以此思想为基础的各类计算机被称为冯诺依曼计算机。典型代表有ENIAC、IAS计算机、UNIVAC商用计算机和IBM701计算机。,.,2第二代(1959年1964年):晶体管计算机主要特点:逻辑元件晶体管主存磁芯辅存磁盘软件高级程序设计语言、操作系统应用除科学计算外,已应用于数据处理、过程控制主要成就:首次将晶体管用于计算机,克服了第一台计算机的体积大而笨重、造价高、功耗大和不稳定等缺陷。发明了高级语言。1956年美国国防部发明了第一个专用的高级语言Ada语言。1957年IBM公司发明了FORTRAN高级语言,主要用于科学计算。计算机兼容问题的产生。包括硬件兼容和软件兼容。典型代表有IBM7000系列计算机和PDP-1小型计算机。,.,3第三代(1964年1970年):集成电路计算机主要特点:逻辑元件集成电路(IC)主存半导体辅存磁盘软件高级程序设计语言、操作系统应用科学计算、数据处理、过程控制主要成就:IBM公司首次提出了系列机的概念,圆满地解决了计算机兼容的问题。控制器设计使用微程序控制技术,使控制器的设计规整化。结构化程序设计思想成熟,软硬件设计标准化。典型代表是IBM360系列机和DEC的PDP-8小型机。,.,4第四代(1971年至今):大规模/超大规模集成电路计算机主要特点:逻辑元件大规模/超大规模集成电路(LSI/VLSI)主存LSI/VLSI半导体芯片辅存磁盘、光盘软件高级程序设计语言、操作系统应用科学计算、数据处理、过程控制,并进入以计算机网络为特征的应用时代。主要成就:1971年美国Intel公司成功地研制出了Intel4004微处理器芯片。微型计算机的出现,1981年IBM公司正式推出了全球第一台个人计算机IBMPC。面向对象、可视化程序设计概念出现;软件产业高度发达,各种实用软件层出不穷,极大地方便了用户。计算机技术与通信技术相结合,计算机网络把世界紧密地联系在一起。多媒体技术的崛起。典型代表是Intelx86系列、IBMPC机和各种超级计算机。,.,二十世纪八十年代初以来,许多科学家一直预测着第五代计算机将朝哪个方向发展,综合起来大概有以下几个研究方向:人工智能计算机超级计算机激光计算机超导计算机生物晶体计算机(DNA计算机)量子计算机,.,5嵌入式系统和ARM嵌入式计算机一般是以应用为中心,以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。ARM是一种由英国剑桥ARM公司设计的基于RISC的微处理器和微控制器序列。,.,1.3.2性能指标,主频主频或时钟周期是计算机的主要性能指标之一,它在很大程度上决定了计算机的运行速度。主频越高,CPU的工作节拍就越快,运算速度就越高。主频的计量单位一般为兆赫兹(MHz)。运算速度运算速度是计算机工作能力和生产效率的主要表征,它取决于在给定的时间内,处理器所能处理的数据量和处理器的时钟频率。通常用每秒执行指令的条数来表示,其计量单位为MIPS(百万条指令每秒)和MFLOPS(百万次浮点运算每秒)。运算精度运算精度通常以计算机处理信息时能直接处理的二进制信息位数来定义。这个位数通常与计算机CPU中存储数据的寄存器的位数相同,位数越多,精度越高。参与运算数的基本位数通常用基本字长表示,因此,字长也在一定情况下标志着计算精度。早期的微型计算机字长多为4位、8位和16位,现在多以32位和64位为主。,.,存储容量主存容量是衡量计算机的性能指标之一,主存的容量越大,可存储的数据和程序就越多,与外存储器的信息交换次数越少,系统的效率就越高。以字为单位的计算机常用字数乘以字长表示主存容量,如4K16位。以字节为单位的计算机则以字节数表示主存容量,如32KB。存取周期主存进行一次完整的读/写操作所需的时间,即主存进行连续读/写操作所允许的最短时间间隔,叫存取周期。显然,存取周期愈小,表明从主存存取信息的时间愈短,计算机系统性能愈高。系统配置硬件配置主要指外部设备的配置情况,包括系统允许配置外设的最大数量、种类及输入输出能力,基本配置外设的种类、数量及性能等等。软件配置主要指操作系统的种类、版本,它表明其功能的强弱。另外,系统配置的工具软件及其他支持软件和应用软件的种类等都是软件配置应考虑的因素。,.,RASIS特性可靠性(Reliabilityr)、可用性(Availability)、可维性(Serviceability)、完整性(Integrality)和安全性(Seurity)统称RASIS特性,它们是衡量计算机系统性能的五大功能特性。兼容性兼容性(Compatibility)是指一个系统的硬件或软件与另一个系统或多种系统的硬件或软件的兼容能力,系指系统间某些方面具有的并存性,意即两个系统之间存在一定程度的通用性。功耗随着芯片上逻辑密度和时钟速度的提高,芯片消耗的功率密度(瓦/cm2)也随之提高。高密、高速芯片的散热困难已成为一个重要的设计问题。性能价格比性能是指机器硬件和软件的各种性能。价格指整个系统的价格。显然,性能价格的比值愈大越好。除上述性能指标外,还有其他的性能指标。,.,1.4计算机的基本组成,计算机系统由硬件和软件两部分组成。硬件是构成计算机系统的设备实体,它包括运算器、控制器、存储器、输入设备和输出设备等五大部件。软件是各类程序和文件,它包括系统软件和应用软件。只有硬件与软件有机地组合才能构成一个实用的计算机系统。,.,1.4.1冯诺依曼体系结构,冯诺依曼计算机的特点可以归纳如下:计算机由运算器、存储器、控制器、输入设备和输出设备等五大部件组成。五大部件的功能是:存储器能存放数据、指令,并能区分它们;控制器能自动执行指令;运算器能进行加、减、乘、除等基本运算及附加操作;操作人员可以通过输入、输出设备和主机进行通信。计算机内部采用二进制表示指令和数据。每条指令一般具有一个操作码和一个地址码,其中操作码表示运算性质,地址码指出操作数在存储器中的位置,由一串指令组成程序。计算机工作采用存储程序方式工作。它意味着事先编制好程序,将程序和数据存入主存储器中,计算机在运行程序时就自动地、连续地从存储器中取出指令、分析指令并执行指令,而无需人工干预。经典的冯诺依曼计算机以运算器为中心,其结构图如图1-7所示。图中实线为数据线,虚线为控制线和反馈线。,.,图1-7经典的冯诺依曼计算机结构,.,1.4.2现代计算机体系结构,图1-8现代计算机结构,现代计算机已转为以存储器为中心,如图1-8所示。在现代计算机中,运算器与控制器被封装在一起,称为中央处理单元CPU,CPU是计算机硬件的核心。CPU和主存一起称为主机。外存和输入、输出设备一起统称为外部设备或外围设备。现代计算机可以认为由CPU、存储和I/O三大子系统组成。,.,1.CPU子系统CPU由三个组成部分:算术逻辑单元ALU、控制单元和寄存器组。如图1-9所示。,图1-9CPU内部组成图,.,1)算术逻辑单元ALUALU是进行算术运算和逻辑运算的部件。ALU从CPU的寄存器部分取得操作数,然后将运算结果再存回到寄存器部分。2)寄存器(Register)组寄存器是用于临时存放数据的高速存储设备,CPU的高速运算离不开多个寄存器。主要寄存器有:数据寄存器DR、程序计数器PC和指令寄存器IR。3)控制单元控制单元(ControlUnit)是计算机的管理机构和指挥中心,它协调计算机的各部件自动地工作。,.,2.存储子系统目前,存储系统常分为三级,如图1-10所示。CPU能按存储单元地址直接访问主存。增加高速缓冲存储器(Cache)的目的是为了提高速度,解决CPU与主存之间速度不匹配的矛盾。增加辅存的目的是弥补主存容量的不足。,图1-10三级存储体系,.,1)主存主存的最基本构成是存储元件,它能存储一位二进制信息。若干存储元件按一定拓扑结构排列构成存储单元或字。一个字可以是8位、16位、32位或64位。如果字是8位二进制信息,则将其称为一个字节。目前,用来度量主存容量的单位主要有千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)和皮字节(PB)。,1KB=210B=1,024B1MB=210KB=220B=1,048,576B1GB=210MB=220KB=230B=1,073,741,824B1TB=210GB=220MB=230KB=240B=1,099,511,627,776B1PB=210TB=220GB=230MB=240KB=250B=1,125,899,906,842,624B,.,主存的逻辑结构如图1-11所示,它由存储体和外围电路组成。,图1-11主存储器的组成,.,2)高速缓冲存储器Cache高速缓冲存储器的存取速度比主存快,但比CPU内部的寄存器慢。高速缓冲存储器的容量较小,且常被置于CPU与主存之间,用于提高处理速度。3)辅存辅存用来存放暂时不执行的程序和数据,起支援主存的作用。它不能与CPU直接交换信息,只能与主存成批交换信息。辅存的最大特点是存储容量大、可靠性高、每位价格低,在脱机的情况下能永久地保存信息,但其存取速度慢。辅存分为磁表面存储器和光存储器。,.,3.I/O子系统输入设备的作用是将参加运算的数据和程序送入计算机,并将它们转换成计算机能识别的信息。常见的输入设备有键盘、鼠标、扫描仪、摄像机等。输出设备是将计算机处理的结果转化为人或其他设备所能识别或接收的信息形式的装置。常见的输出设备有显示器、打印机、绘图机等。I/O设备需通过接口与CPU和存储器连接。,图1-12I/O部件逻辑框图,.,4.总线总线是连接计算机各部分之间进行信息传送的一组公共传输线,它将上述各大部件连接构成一个有机的整体,如图1-13所示。系统总线通常包括三组:地址总线、数据总线和控制总线。,图1-13以总线连接的计算机框图,.,1.4.3计算机的工作过程,计算机的工作过程的实质:执行程序的过程。执行程序的过程:逐条执行指令的过程。,.,

温馨提示

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

评论

0/150

提交评论