版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理概论第1页,共38页。第1章概论
2*第2页,共38页。1.1计算机的发展史
第一代到第四代电子数字计算机的简单回顾
第一代电子管计算机ENIAC第一代电子数字计算机的典型特征是使用电子管,所以也被称为电子管计算机时代。1946年第一台ENIAC(ElectricalNumericalIntegratorAndComputer,电子数字积分器和计算机,见图1-1)计算机研制成功,标志着电子管计算机时代的开始。3*第3页,共38页。第二代晶体管计算机TRADIC第二代电子数字计算机的典型特征是使用晶体管,所以也被称为晶体管计算机时代。晶体管计算机时代开始于二十世纪五十年代中期。1955年由贝尔实验室建造的第一台全晶体管计算机TRADIC(TRAnsistorDIgitalComputer),标志着晶体管计算机时代的到来。4*第4页,共38页。第三代集成电路计算机IBM360第三代电子数字计算机的典型特征是使用集成电路,所以也被称为集成电路计算机时代。集成电路计算机时代开始于二十世纪六十年代中期,所采用的集成电路是小规模或中规模集成电路。IBM公司1964年推出的IBM360系统标志着集成电路计算机时代的开始。5*第5页,共38页。第四代大规模集成电路计算机IBM370第四代电子数字计算机的典型特征是使用大规模和超大规模集成电路,所以也被称为大规模集成电路计算机时代:大规模集成电路计算机时代开始于二十世纪七十年代初期。IBM公司1970年生产的IBM370系列机以及1971年Intel公司发布的4004微处理器标志着大规模集成电路计算机时代的开始。6*第6页,共38页。第一台通用电子数字计算机诞生的基础和历史背景表1-120世纪40年代初期出现的一些数字计算机的特征名称首次运行时间数制运算机制程序图灵完备ZuseZ3(德国)1941二进制机电用穿孔软片(punchedfilmstock)控制程序是Atanasoff–BerryComputer(美国)1941二进制电子不可编程-专用否Colossus(英国)1944二进制电子通过调整电缆和开关实现程序控制否HarvardMarkI–IBMASCC(美国)1944十进制机电通过24路穿孔纸带实现程序控制(但是没有条件分支)是ENIAC(美国)1946十进制电子通过调整电缆和开关实现程序控制是7*第7页,共38页。通用电子数字计算机必须具有如下四方面的特征:用离散符号表示数据:即计算机内部的数据表示使用离散符号,这是区分数字计算机与模拟计算机的重要标志。完全使用电子运算装置:即计算机内部的所有运算装置完全使用电子的形式,这是区分电子计算机、机电计算机和机械计算机的重要标志。可以编写程序:即计算机的功能可以通过运行不同的程序而改变,这是区分通用计算机和专用计算机的重要标志。图灵完备(Turing-complete):即如果一个计算系统能够计算任何图灵可计算问题(Turing-computablefunction)就称为图灵完备。8*第8页,共38页。简单回顾一下ENIAC诞生前的一系列重要事件:1834年CharlesBabbage在他所设计的十进制分析机(decimalAnalyticalEngine)中就使用了程序,并把程序存储在穿孔卡片(punchcard)上。1848年英国数学家GeorgeBoole提出二进制代数(布尔代数Booleanalgebra)为一个世纪之后研究二进制计算机提供了方法。1906年LeeDeForest在美国发明了电子管,为研究数字电子计算机提供了可能。1919年WilliamHenryEccles和F.W.Jordan发表了第一个可以作为一位存储器的flip-flopcircuit。1924年WaltherBothe搭建了一个“与”逻辑门电路。1936年图灵(AlanTuring)为证明“可计算性”问题,提出了图灵机(Turingmachine)的概念,从理论上证明了制造出通用计算机的可能性。1941年美国的Atanasoff–BerryComputer(简称ABC)计算机使用电子管进行运算,成为世界上第一台使用电子管进行运算的计算机。1944年英国的Colossus计算机不仅使用电子管进行运算,而且所使用的电子管数量已经达到2400个。1946年由JohnW.Mauchly和J.PresperEckert研制的使用了18000个电子管的ENIAC在美国诞生。9*第9页,共38页。推动计算机体系结构发展的重要事件1.冯·诺伊曼体系结构MCACCI/OC其中:M是存储器(Memory)CA是中央算术单元(CentralArithmeticalunit)CC是中央控制单元(CentralControlunit)I/O是输入和输出设备(Input/Outputdevices)10*第10页,共38页。一台计算机有五个部分,即:一个算术逻辑单元,一个控制单元,一个存储器,一些输入/输出设备和在这些部分之间提供数据通路的总线。这样的计算机按照如下步骤执行:
1)以程序计数器的内容为地址,从存储器中取出下一条指令;
2)给程序计数器的内容加上这条指令的长度(即这条指令占用几个字,也称为字长);
3)控制单元对这条指令译码,控制单元根据译码结果命令计算机的其他部分执行一些操作;指令可以改变程序计数器的内容,以便执行循环操作或分支操作;
4)返回第1步。冯·诺伊曼等人提出的构成计算机的五个基本部分和计算机执行的四个基本步骤,最终形成了“冯·诺伊曼体系结构”。11*第11页,共38页。2.中断纯粹冯·诺伊曼体系结构的计算机是一种完全串行的工作模式,而且程序的执行过程也完全按照事先安排好的顺序执行。1951年PresperEckert和JohnMauchly在设计UNIVACI计算机时,为了能够使计算机自动处理运算溢出问题,第一次设计并实现了自动处理异常情况的方法。具体的处理方法是:在主存的0地址单元存放2条指令;当计算机系统出现程序员设定的异常情况时(如:运算溢出等),计算机就自动地执行存放在主存0地址单元的指令。如果在主存的0地址单元放入停机指令,一旦在程序运行过程中出现运算溢出等异常情况,计算机就可以停止运行。如果在主存0地址单元放入转移到异常处理程序入口的指令,一旦在程序运行过程中出现运算溢出等异常情况,计算机就可以转去执行预先设置好的异常处理程序。这种处理异常情况的方法,就相当于在出现运算溢出等异常情况时,在正常的程序执行顺序中插入另一段处理程序。由于事先根本无法预知何时会出现运算溢出等异常情况,因此也就无法预知插入程序的位置。在无法预知程序插入位置的情况下实现一段程序的插入,正是UNIVACI计算机的一项重要贡献。12*第12页,共38页。1954年NBSDYSEAC
计算机第一次使用了I/O中断。在NBSDYSEAC中设计了两个程序计数器,一个用于保存主程序的地址,另一个用于保存I/O程序的地址,I/O信号能够使程序在两个程序计数器之间切换,从而实现了在主程序和I/O程序之间的切换。I/O中断的重要意义在于实现了CPU与I/O的并行执行。1955年UNIVAC1103A计算机中设计了新的中断处理方式。在UNIVAC1103A中只有一个程序计数器,当发生中断时,程序计数器的值被存储到一个固定的存储单元,然后用一个固定的地址更新程序计数器,从而实现了从当前程序到中断处理程序的切换。1957年IBMStretch计算机把中断、中断向量和条件转移结合在一起,具备了中断源查找和自动执行相应的中断处理程序的能力。13*第13页,共38页。3.虚拟存储器1958年由英国曼彻斯特大学研制的Atlas计算机,第一次使用了虚拟存储器技术,1962年Atlas计算机投入运行。在Atlas计算机中16K字的主存储器由磁心存储器(corestore)构成,96K字的辅存储器由磁鼓存储器(drumstore)构成。Atlas计算机的设计者通过虚拟存储器技术把主存储器和辅存储器集成在一起。虚拟存储器的核心思想就是把当前使用的部分程序放在主存储器中,而把暂时不使用的部分程序放在辅存储器中,但是给程序员的感觉是计算机有很大的主存储器。Atlas计算机的虚拟存储器技术开创了层次结构存储系统的先河,特别是后来出现的高速缓冲存储器(Cachememory)基本上使用的就是虚拟存储器的思想。磁鼓存储器是一种在二十世纪50年代和60年代广泛使用的计算机存储器形式,磁鼓存储器属于顺序访问存储器,速度相对比较慢。磁心存储器属于随机访问存储器,速度比磁鼓存储器快而且没有运动部件。在计算机的发展过程中,磁心存储器逐步取代了磁鼓存储器。14*第14页,共38页。4.指令流水线1956年IBM公司启动了一个名为Stretch的项目,计划开发出比当时最新的IBM704计算机快100倍的高性能超级计算机系统。指令流水线的概念就是在Stretch项目中提出的,并在IBM7030(Stretch)计算机上实现了指令流水线。第一台IBM7030(Stretch)计算机于1960年提交给美国LosAlamosScientificLaboratory。指令流水线的基本思想是把指令的执行过程划分成几个不同的阶段,并设法使几条指令分别处于不同的执行阶段,从而提高了处理器的指令吞吐量。一个五段指令流水线的指令执行过程示意如图1-7所示。指令流水线第一次使计算机可以同时处理多条指令,第一次实现了在CPU内部的指令并行执行。15*第15页,共38页。图1-7指令流水线指令执行过程示意图(其中IF表示取指,ID表示译码,EX表示执行,MEM表示存储器访问,WB表示寄存器写回)16*第16页,共38页。1.2计算机系统的基本组成计算机系统的软硬件概念一个完整的计算机系统应该包括硬件和软件两大部分。硬件是指构成计算机的所有物理部件的集合,这些部件是由电子元器件、各类光、机电设备、电子线路等构成的有形物体。软件是指运行、维护、管理及应用计算机所编制的所有程序的总和。计算机依靠硬件和软件的协同工作完成一个具体任务,两者缺一不可。硬件是计算机系统的物质基础,软件必须在硬件的支持下才能运行。17*第17页,共38页。但是仅有硬件的计算机称为“裸机”,裸机是不能工作的。计算机系统必须有软件的支持,才能充分发挥其硬件的各种功能。现代计算机的软件不仅可以充分发挥计算机的硬件功能,提高计算机的工作效率,而且已经发展到能局部模拟人类的思维活动。因此软件的地位和作用在整个计算机系统中越来越重要。而整个计算机系统性能的好坏,则取决于软硬件功能的总和。然而硬件和软件之间又无严格界线。任何由软件实现的功能都可直接由硬件来完成;反过来,任何由硬件实现的功能也可由软件来模拟。将哪些功能由硬件实现,哪些功能由软件实现是由当时的成本、速度、可靠性和预期的修改频率等因素决定的。因此,硬件和软件在逻辑上是等同的。18*第18页,共38页。计算机系统的硬件组成1.存储程序与冯.诺依曼计算机存储程序是1946年匈牙利籍数学家冯·诺依曼提出的设计电子数字计算机的一些基本思想,概括如下:由运算器、存储器、控制器、输入设备和输出设备五大部件组成计算机系统,并规定了这五部分的基本功能;采用二进制形式表示程序和数据;计算机的工作过程由存储程序控制。即将程序和数据事先放在存储器中,使计算机在工作时能够自动高速地从存储器中取出指令加以执行。19*第19页,共38页。这些思想奠定了现代计算机的基本结构,并开创了程序设计的时代,是计算机发展史中的一个里程碑。半个多世纪以来,虽然计算机的体系结构经历了重大的变化,性能也有了惊人的提高,但至今大多数计算机依然遵循VonNeumann提出的二进制、存储程序和程序控制的原理。按照这种原理构造的计算机称为冯·诺依曼计算机,其体系结构称为冯·诺依曼结构。不同之处只是原始的冯·诺依曼计算机在结构上是以运算控制器为中心,随着计算机体系结构的发展,而逐渐演变到现在以存储系统为中心。弄清楚存储程序的概念,研究它在计算机内部的实现过程,乃是了解现代计算机工作原理的关键。冯·诺依曼计算机的这种工作方式,称为指令流(控制流)驱动方式,即按照指令的执行序列,依次读取指令,根据指令所含的控制信息,调用数据进行处理。
现代计算机中,还有另一类属于非诺依曼体制,这类计算机采用数据流驱动的工作方式,只要数据已经准备好,有关的指令可并行执行,又称为数据流计算机。它为并行处理开辟了新的前景,但控制比较复杂。20*第20页,共38页。传统的诺依曼计算机采取串行顺序处理的工作机制,单处理机结构,集中控制。现代的计算机在冯•诺伊曼结构的基础上围绕如何提高速度、扩大存储容量、降低成本、提高系统可靠性和方便用户使用为目的,不断采用新的器件和研制新的软件。例如,在体系结构上采用多个处理部件形成流水处理,依靠时间上的重叠提高处理效率;组成阵列结构形成单指令流多数据流以提高处理速度;用多个处理机组成多机系统支持并行算法结构等等。计算机体系结构(Computerarchitecture)和计算机组成(Computerorganization)是计算机系统的两个重要术语。计算机体系结构是指程序员所看到的一个计算机系统的属性。计算机组成是计算机体系结构的逻辑实现,包括物理机器级内的数据流和控制流的组成以及逻辑设计等。一个计算机体系结构可以用不同的计算机组成来实现,如系列计算机的体系结构相同,但计算机组成不同。一种计算机体系结构可能存在多年,但它的计算机组成则随着技术进步而不断更新。本书涉及的是计算机组成的相关内容。21*第21页,共38页。2.计算机的功能部件计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。运算器与控制器一起组成了计算机的“大脑”。在个人计算机中,这两个部件组合到一个被称为中央处理机CPU(CentralProcessingUnit)的芯片上。CPU是计算机的核心部件,控制着计算机内数据流与指令流的操作;向计算机系统中的其他部件发出各种控制信息,收集各部件的状态信息,与其他部件间交换数据等。存储器用来存放程序和数据。如果没有能为CPU提供读写信息的存储器,就没有今天的存储程序式数字计算机。输入、输出设备(简称I/O设备)是计算机与外界联系的桥梁。这三大部分以某种方式互相连接,构成计算机的硬件系统。(1).主存储器(2).中央处理器CPU(3).I/O系统22*第22页,共38页。(1)主存储器存储器分为主存储器(也称为内存储器)和辅助存储器(也称为外存储器)。CPU能够直接访问的存储器是主存储器(简称主存)。主存存放当前计算机运行所需要的程序和数据,以便向CPU高速传送信息。主存容量一般较小,但存取速度高。辅助存储器(简称辅存)用来存放当前暂时不用的程序和数据,在需要时可与主存成批交换数据。辅存容量较大但存取速度较低。常用的外存储器有磁盘机,磁带机和光盘机等。因辅存不能直接与CPU交换信息,必须将它的信息传送到内存后才能由CPU进行处理,其性质和输入输出设备相同,所以一般把外存储器归属于外部设备。本节主要讨论主存储器,关于辅助存储器23*第23页,共38页。从信息流动的角度观察,主存储器主要由四部分组成,如图1-8所示。图1-8主存组成24*第24页,共38页。(2)中央处理器CPUCPU主要包括运算器和控制器两大部分。运算器是对信息进行加工处理的部件。加工处理主要包括对数值数据的算术运算(如加、减、乘、除等)以及对逻辑数据的逻辑运算(如与、或、非等)。这些功能是由CPU内一个称之为算术与逻辑运算部件ALU完成的。此外,在运算器中还含有能暂时存放数据或结果的寄存器。控制器是整个计算机的指挥中心,它根据事先编好的程序,产生各种控制信号,控制计算机的各部件有条不紊自动、协调工作。控制器由程序计数器PC(ProgramCounter)、指令寄存器IR(InstructionRegister)以及控制单元CU(ControlUnit)等几部分组成组成。PC用来存放将要执行的下一条指令的地址。从内存读取的指令装入CPU的指令寄存器IR,指令以二进制代码的形式存在,它规定了CPU将要执行的动作。CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用于控制所有被控对象,以完成指令的功能。25*第25页,共38页。(3)I/O系统计算机的输入、输出设备是计算机与外界联系的桥梁,其主要功能是实现人—机对话、输入与输出以及各种形式的数据变换等。由于I/O设备的速度一般不能与CPU的速度匹配,两者表达信息的格式不同等原因,每一种设备与主机都通过一个称为I/O接口(适配器)的电路相连,实现信息交换。I/O系统包括输入设备和输出设备及其相应的接口。输入设备将人们输入的程序、数据和命令转换成计算机能够识别和接受的信息形式输入到计算机内。常用的输入设备有键盘、鼠标、扫描仪、光笔、条形码读入器等。输出设备将计算机处理的结果转换成人们或其他系统所要求的信息形式输出。常用的输出设备有显示器、打印机、CRT终端(视频数据终端)、自动绘图机等。CPU、主存储器、I/O接口电路组成主机,输入、输出设备和外存储器组成外部设备。26*第26页,共38页。三.计算机的工作过程取指令根据指令所在的存储单元的地址(由程序计数器PC给出),从主存中取出要执行的指令送到指令寄存器。取指令是每条指令的共同操作。分析指令对取出的指令进行译码分析,包括分析指令应该执行什么操作、如何得到操作数等。执行指令根据指令功能,执行指令规定的操作。27*第27页,共38页。操作码告诉计算机执行什么操作,4位操作码可以表示16种不同的操作。本例中0001表示将0-11位地址给出的存储单元的内容装入累加器AC0010表示将累加器AC的内容存入0-11位地址给出的存储单元0101表示将0-11位地址给出的存储单元的内容与累加器AC的内容相加,结果放入AC地址码指出操作数在存储单元的地址,12位地址最多可有212=4096个字的存储器。图1-9举例说明了3条指令的执行过程。这三条指令是将地址为94016的存储单元的内容装入累加器AC;将累加器的内容与地址为94116的存储单元的内容相加,结果放入AC;将累加器的内容存入地址为94116的单元。图1-9为一简化的计算机的结构
。CPU中仅包含一个累加器AC来暂时存储数据。与存储器相联系的两个寄存器MAR和MDR、CU都未考虑,程序和数据已事先存入主存,(见图1-9中左边存储器内容,其中300-302单元存放的是指令,940和941单元存放的是数据)。指令格式如下:28*第28页,共38页。29*第29页,共38页。4.互联结构从上面指令的执行过程可以看出,计算机的各部件之间需要相互通信。因此必须有将这些部件连接在一起的通路。连接各部件的通路的集合称为互联结构(InterconnectionStructure)。根据前面讨论的指令的执行过程,同时考虑I/O的要求,则互联结构必须支持下列类型的传送:存储器到CPU:CPU从存储器读指令或一个单元的数据CPU到存储器:CPU向存储器的一个单元写数据I/O到CPU:CPU通过I/O接口从I/O设备中读数据CPU到I/O:CPU向I/O设备发送数据I/O和存储器之间:对于这种情况,允许I/O同存储器直接交换数据,而不通过CPU。现在计算机的互联结构普遍采用总线结构。30*第30页,共38页。(1).总线概念总线是连接多个部件的信息传输线,是各部件共享的传输介质。当多个部件联接到总线上时,一个部件发出的信息,可以为其他所有连接到总线上的部件所接受(接受相同的信息),但如果两个或两个以上部件同时向总线发放信息,势必导致信号冲突,传输无效。因此,在某一时刻,只允许有一个部件向总线发送信息(发送端的分时性)。
总线由许多传输线组成,每条线可传输一位二进制代码,一串二进制代码可在一段时间内逐一传输完成,若干条传输线可以同时传输若干位二进制代码,如16条传输线组成的总线,可同时传输16位二进制代码。
计算机系统含有多种总线,它们在计算机系统的各个层次提供部件之间的通路。31*第31页,共38页。(2).总线分类片内总线。片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间,寄存器与算术逻辑单元之间都有总线连接。2)系统总线。系统总线是指连接CPU、主存、I/O(通过I/O接口)各大计算机部件的总线。按系统传输信息的不同,系统总线可分为三类:数据总线、地址总线和控制总线。3)通信总线。这类总线用于计算机系统之间或计算机系统与其他系统之间的通信。总线的操作:①如果一个部件希望向另一个部件发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长沙市雨花区2025-2026学年第二学期五年级语文第七单元测试卷(部编版含答案)
- 伊春市桦南县2025-2026学年第二学期三年级语文期末考试卷(部编版含答案)
- 海西蒙古族藏族自治州德令哈市2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 蜡裂解及重合装置操作工安全检查知识考核试卷含答案
- 耕种机械制造工安全文化知识考核试卷含答案
- 耐蚀砖板衬里工岗前工作能力考核试卷含答案
- 茶叶拼配师岗前纪律考核试卷含答案
- 钻井工安全教育模拟考核试卷含答案
- 牡丹江市林口县2025-2026学年第二学期三年级语文第七单元测试卷(部编版含答案)
- 辽阳市弓长岭区2025-2026学年第二学期二年级语文第七单元测试卷(部编版含答案)
- 中国船舶集团校招面笔试题及答案
- 2025-2030中国珠宝首饰设计制造市场艺术风格分析及品牌营销策略规划
- 2026江苏苏州市健康养老产业发展集团有限公司下属子公司招聘44人(第一批)笔试历年典型考点题库附带答案详解
- 2026年临沂市工业学校公开招聘教师(32名)笔试参考题库及答案解析
- 建筑行业绩效考核管理办法
- 初中地理新课标测试题及答案
- 水产动物育种学智慧树知到期末考试答案章节答案2024年上海海洋大学
- 中枢性面瘫与周围性面瘫区别课件
- 2024年中交集团暨中国交建总部招聘笔试参考题库含答案解析
- 基因工程制药-课件
- 八年级数学下册导学案全册
评论
0/150
提交评论