第3章计算机硬件组成及工作原理_第1页
第3章计算机硬件组成及工作原理_第2页
第3章计算机硬件组成及工作原理_第3页
第3章计算机硬件组成及工作原理_第4页
第3章计算机硬件组成及工作原理_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第三章计算机硬件组成及工作原理3.1计算机的硬件组成一台完整的计算机系统由计算机硬件系统和计算机软件系统两部分组成。计算机硬件(Hardware)是组成计算机的所有电子器件和机电装置的总称,是构成计算机的物质基础,也是计算机系统的核心。计算机软件(Software)则是由计算机程序构成的无形的东西,需要存储在有形的硬件(如主存储器、硬盘等)中,可以实现更高层的逻辑功能。本章主要内容是计算机硬件系统的组成及工作原理。3.1计算机的硬件组成计算机一开始是作为一个计算工具出现的。如能脱离人的干预而自动地完成计算,它必须具备以下几个基本功能:①要有能进行运算的部件——运算器;②要有能记忆原始数据、运算程序及运算结果的部件——存储器;③要有能发出各种控制信息,以便使计算机各部件协调工作的部件——控制器;④要有能将原始数据及运算程序输入计算机,并将结果及其它信息输出的部件——输入、输出设备。3.1.1计算机的主要部件典型的计算机硬件系统就是由这五大部分构成,这种模型最早是由数学家冯•诺依曼提出的,故称为冯•诺依曼结构。

3.1.2计算机的总线结构将五大基本部件,按某种方式连接起来就构成了计算机的硬件系统。在五大基本部件之间,有着大量的信息需要交换、传送。目前许多计算机(主要指小、微型计算机)的各大基本部件之间是用总线(BUS)连接起来的。总线是构成计算机系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路。借助于总线连接,计算机在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作。。

3.1.2计算机的总线结构总线的基本概念

1)为什么要使用总线

如何将计算机的若干功能部件连接起来?全互联形式

部件1部件2部件5部件3部件4问题:随着部件的增加,连线复杂。如何解决?3.1.2计算机的总线结构总线的基本概念

2)解决方法——采用总线

总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传总送的公共通路。总线问题:如何确定数据的流向?部件1部件2部件3部件4部件5部件13.1.2计算机的总线结构地址总线部件2部件3部件4000110111010数据总线101010数据数据数据总线的基本概念

3)数据送到哪里——地址总线作用

通过地址总线确定数据的来源和去向。3.1.2计算机的总线结构总线的定义:

总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通路。总线通过分时共享的方式,将信息以一个或多个源部件传送到一个或多个目的,是计算机中传输数据的公共通道。总线的特性:分时和共享是总线的两个基本特性。共享是指多个部件连接在同一条总线上,各个部件之间都可以通过这条总线来进行信息的交换。分时是指同一时刻,总线上只能传输一个部件发送出来的信息。总线的特点:——高速:满足CPU的外部访问要求——标准:使得不同的设备可以和计算机主机系统连接——公共:全部外部设备共同使用3.1.2计算机的总线结构数据总线双向传送,它的线数即总线宽度。CPU取指令时——用于传送指令代码CPU访问存储器时——用于传送数据I/O操作时——用于传送外部数据产生中断时——用于传送中断向量地址总线传送的是内存(或I/O接口)的地址信号,单向传送。它的线数与系统采用的CPU的地址线宽度一致,它决定了CPU直接寻址的内存容量。控制总线传送的是CPU和其它控制芯片发出的各种控制信号,如:读/写周期W/R、指令/代码传送D/C、存储器或IO口访问M/IO和系统复位Reset等。总线的分类片内总线

在CPU内部,寄存器之间和算术逻辑部件ALU与控制部件之间传输数据所用的总线称为片内总线(芯片内部的总线)。片外总线

是CPU与内存RAM、ROM和输入/输出设备接口之间进行通讯的通路。本节主要介绍片外总线。系统总线、I/O总线、外部总线都是片外总线。系统总线——(也叫前端总线FSB)一般为CPU与存储器(L2Cache)、芯片组之间的连接总线。是CPU的数据、指令等传输通道,也是I/O总线的过度总线。I/O总线——主机与外部设备之间的连接总线。3.1.3典型的微型计算机组成典型的微型计算机组成3.2中央处理器的组成与基本工作原理中央处理器CPU是整个计算机的核心,它包括运算器和控制器。3.2.1中央处理器的功能当用计算机解决某个问题时,我们首先必须为它编写程序。程序是一个指令序列,这个序列明确告诉计算机应该执行什么操作,在什么地方找到用来操作的数据。一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务。专门用来完成此项工作的计算机部件称为中央处理器,通常简称CPU。

3.2.1中央处理器的功能CPU如下四方面的基本功能:1) 指令控制程序的顺序控制称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。2) 操作控制一条指令的功能往往是由若干个操作信号的组合来实现的,因此,CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。3) 时间控制对各种操作实施时间上的定时称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时。4) 数据加工数据加工就是对数据进行算术运算和逻辑运算处理。

2.3.1CPU组成控制器和运算合称为中央处理单元(CentralProcessingUnit),简称CPU。CPU是使整部计算机能够运作的最核心、最重要的组件。其作用就是当计算机系统开始运行时,CPU从内存中读取操作它的软件的指令与数据,透过ALU运算出结果后存回内存,同时由主机板,与外界的I/O外围沟通,达到数据处理的目的。3.2.2CPU的基本组成CPU内部包括控制单元、运算器、寄存器组等组成。

3.2.2CPU的基本组成运算器称为ALU(ArithmaticLogicalU—nit),它由部件及逻辑电路组成,其功能进行算术和逻辑运算。3.2.2CPU的基本组成控制器发出各种控制信号,使整个运行过程自动进行。⑴程序计数器PC,又称指令计数器、指令指针(IP)⑵指令寄存器IR,存放从内存中取出的待执行的指令。⑶指令译码器ID,又称操作码译码器或指令功能分析解释器。⑷地址形成部件⑸微操作信号发生器⑹时序部件2.3.1CPU组成3.2.3指令及指令周期1.指令指令系统指的是一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性。指令系统决定了一个CPU能够运行什么样的程序。不同的CPU、不同的指令集,构成了不同的指令系统。指令系统是计算机硬件和软件之间的桥梁,是汇编程序设计的基础。指令系统包含了许多执行各种类型操作的指令,每条指令完成一种特定的操作。计算机系统完成的每项工作,往往需要一系列相应的指令。所有采用高级语言编出的程序,都需要翻译(编译或解释)成为机器语言后才能运行,这些机器语言中所包含的就是一条条的指令。3.2.3指令及指令周期2.指令周期

就是执行一条指令所需要的时间,即CPU从内存取出一条指令并执行这条指令的时间总和一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。指令不同,所需的机器周期数也不同。3.2.4CPU的工作过程

CPU的工作过程实际上就是指令的执行过程,一条指令执行的基本过程分为:取指令阶段、分析及取数阶段和执行阶段。⑴

取指令将现行指令从内存中取出来并送至指令寄存器中去。具体的操作为:①将程序计数器PC中的内容通过地址总线AB送至内存地址寄存器AR。②向内存发读命令。③从内存中取出的指令经数据寄存器DR、数据总线DB送到指令寄存器IR中去。④将PC的内容递增,为取下一条指令做好准备。3.2.4CPU的工作过程⑵分析及取数指令译码器ID识别和区分不同的指令类型及各种获取操作数的方法无操作数指令,即转执行阶段。带操作数指令需要读取操作数,⑶执行执行阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。3.2.4CPU的工作过程1.指令执行的基本过程演示

为了使大家进一步了解指令执行过程,我们以一条8086指令ADDAL,[0300H]为例。这里我们设定指令执行前:

AL)=00001111B,[CS]=3000H,[IP]=0100H,[DS]=2000H,[20300H]=01010000B3.3指令系统1.指令的格式一条指令一般包括两个部分:操作码和地址码。操作码其实就是指令序列号,用来告诉CPU需要执行的是那一条指令。地址码则复杂一些,主要包括源操作数地址、目的地址和下一条指令的地址。在某些指令中,地址码可以部分或全部省略,比如一条空指令就只有操作码而没有地址码。101000010000000000100000操作码地址码3.3指令系统

2.指令的分类一台计算机的指令系统可以有上百条指令,这些指令按其功能可以分成几种类型:数据传送类指令算术逻辑运算类指令3)程序控制类指令4)输入/输出类指令3.3指令系统3.寻址方式寻址方式是指令系统设计的重要内容,它对于丰富程序设计手段、方便程序编制、提高程序的质量、减少访问主存的次数以及压缩程序占用的内存空间等方面都起着重要作用。每台计算机的指令系统都有自己的一套寻址方式。3.3指令系统3.立即寻址立即寻址是将操作数直接传送给寄存器的一种寻址方式操作数紧跟在操作码之后,作为指令的一部分。立即数可以是字节(8位)、字(16位)、双字(32位),其低位字节放在低地址单元,高位字节放在高地址单元。例如:MOVAL,0CAHMOVAX,2100H低地址高地址操作码34H12H12HAX34H3.3指令系统4.寄存器寻址寄存器寻址是用于寄存器之间的数据传送,源和目的寄存器必须使用相同的位数。例如:MOVBL,ALMOVBX,AXMOVBL,AXMOVBX,AH3.3指令系统5.直接寻址指令所需操作数在某存储单元中,指令中形式地址字段给出的就是该存储单元的地址。3.3指令系统6.寄存器间接寻址

指令所需操作数在存储单元之中,采用这种寻址方式时,应事先把操作数的偏移地址存入一个寄存器(Rm)中。寄存器间接寻址是把形式地址字段指定寄存器的内容作为操作数的有效地址,由该地址所指定的存储单元的内容作为操作数。3.3指令系统

CPU的工作过程实际上就是指令的执行过程,一条指令执行的基本过程分为:取指令阶段、分析及取数阶段和执行阶段。⑴

取指令将现行指令从内存中取出来并送至指令寄存器中去。具体的操作为:①将程序计数器PC中的内容通过地址总线AB送至内存地址寄存器AR。②向内存发读命令。③从内存中取出的指令经数据寄存器DR、数据总线DB送到指令寄存器IR中去。④将PC的内容递增,为取下一条指令做好准备。3.3.380X86指令系统举例1.数据传送指令包括一般传送指令MOV、堆栈指令PUSH和POP等。⑴MOV指令MOV指令是数据复制指令应当保持数据宽度(位数)一致寄存器reg

存储器mem段寄存器sreg,CS除外立即数data3.3.380X86指令系统举例MOV指令举例MOVAL,0CAH ;立即寻址MOVAL,[0CAH] ;直接寻址,(DS)MOVBL,AL ;寄存器寻址,(AL)MOVCX,[BX] ;寄存器间接寻址,(DS),(BX)MOVCX,[100H+BP] ;寄存器相对寻址,(SS),(BP)MOVCX,[BX][SI] ;基址变址寻址,(DS),(BX),(SI)MOVCX,[10H+BP+SI] ;相对基址变址寻址,(SS),(BP), (SI)3.3.380X86指令系统举例⑵PUSH/POP指令PUSHFPUSHAXPUSHBX...POPBXPOPAXPOPF3.3.380X86指令系统举例2.算术运算指令包括加法、减法、乘法、除法、加1、减1、求补、比较等。⑴加、减和比较指令ADDBX,DXADDCAX,CX ;(AX)(BX)=(AX)(BX)+(CX)(DX),32位二进制数加法ADDAL,BLDDAMOVCL,ALMOVAL,AHADDCAL,BHDDAMOVAH,ALMOVAL,CL ;(AX)=(AX)+(BX),4位BCD加法3.3.380X86指令系统举例⑵乘法/除法指令乘法和除法指令必须区分有符号数和无符号数,符号数:IMUL、IDIV;无符号数:MUL、DIVMULBL ;(AL)=0B4H,(BL)=11H

;(AX)=0BF4H,CF=OF=1 0B4H11H 0B4H+0B4H0BF4H3.3.380X86指令系统举例

3.基本逻辑指令与(AND)、或(OR)、异或(XOR)、非(NOT)和测试(TEST)指令4.移位元与循环指令3.3.380X86指令系统举例

5.程控指令用于控制程序的执行方向,使程序具有测试、分析与判断的能力。包括:转移控制指令、子程序调用和返回指令、中断控制指令等。⑴转移控制指令无条件转移

MOVBX,5H JMPROUT1 MOVAX,55HROUT1:ADDAX,10H;(AX)=(AX)+10H3.3.380X86指令系统举例

ADDAX,-5H JZROUT1 ADDAX,10HROUT1:若执行前(AX)=5H,则执行结果(AX)=0。若执行前(AX)≠5H,则执行结果(AX)=(AX)+10H3.3.380X86指令系统举例

⑵程序循环指令

MOVCX,0AH MOVAL,0 MOVSI,2000HLP: ADDAL,[SI] INCSI LOOPLP MOV[SI],AL执行后(2200AH)=37H1234567890AH(DS)=2000H22000H2200AH数据段0BH执行前3.3.380X86指令系统举例

⑶子程序调用和返回指令子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。⑷中断控制指令当出现某些特殊情况,必须暂停现在运行的程序,转去执行一组专门的程序进行某些处理,处理结束后又返回到原程序继续运行。中断包括:硬件中断,是由外部设备发出的中断请求信号。软件中断。是由内部驱动或由内部事件引发的中断。3.3.380X86指令系统举例

6.输入/输出指令输入/输出(I/O)指令用来实现主机与外部设备之间的信息交换。指令中应给出I/O端口地址(Port),这些端口地址与内存的存储单元地址无关,是另一个独立的地址空间。直接端口寻址:指令中可以直接给出端口地址,最多只能寻址256个端口;间接端口寻址:由DX寄存器间接给出端口地址,最多可以寻址65536个端口。指令必须使用AL(8位)、AX(16位)传递数据。3.3.380X86指令系统举例

输入指令

INAL,50H执行后,(AL)=1 MOVDX,278H INAL,DX执行后,(AL)=0AH12340AH050H278HI/O端口0BH执行前3.3.380X86指令系统举例

输出指令

MOVAL,0AAH OUT50H,AL执行后,(端口50H)=0AAH MOVAL,55H MOVDX,278H OUTDX,AL执行后,(端口278H)=55H0AAH23455H050H278HI/O端口0BH执行后3.3.4指令系统的发展1.指令系统的发展方向指令系统是伴随着计算机系统结构的完善和性能的提高而发展起来的,指令系统的发展有两种不同的途径和方向:一种是一步增强原有指令的功能以及设置更为复杂的新指令取代原先由软件子程序完成的功能。按此方向发展,指令系统日益庞大和复杂,用这种途径设计成CPU的计算机称为复杂指令系统计算机(ComplexInstructionSetComputer),简称CISC。另一种是通过减少指令种类和简化指令功能来降低硬件设计的复杂度,提高指令的执行速度。按此方向发展,指令系统日益缩小和精简,用这种途径设计成CPU的计算机即为精简指令系统计算机(ReducedInstructionSetComputer),简称RISC。3.3.4指令系统的发展2.从CISC到RISC传统的计算机多属于CISC,CISC的特点:指令系统多达几百条指令,许多指令的功能异常复杂,具有多种寻址方式。计算机的研制周期变得很长,同时也增加了设计失误的可能性。而且由于复杂指令需进行复杂的操作,有时还可能降低系统的执行速度。“20%-80%律”3.3.4指令系统的发展RISC设计应遵循的原则:①

只选择使用频度高的指令,指令数目一般不超过100条。②

寻址方式种类少,一般不超过2种,指令格式力求一致。③

所有或大多数指令在单个机器周期内完成。④

扩大通用寄存器的数目,一般不少于32个。⑤

尽量减少访问内存,除存(Load)、取(Store)指令外,其它指令一律只对寄存器操作。⑥

为提高指令执行速度,大多数指令用硬连线控制实现,少数指令才用微程序实现。⑦

优化编译,简单有效地支持高级语言的实现。3.4汇编语言汇编语言是一种面向CPU指令系统的程序设计语言,用汇编语言编写的程序称作汇编程序或汇编语言源程序。用汇编语言编写的一条汇编程序语句由四个域组成:[名字]操作符

操作数

[:注释]一个完整的程序则包括段定义、数据定义、程序段定义和程序指令语句以及正确的数据结构。

指令语句包括:指令、标号和注释。伪指令语句是为汇编语言和连接程序提供的含有必要控制信息的管理性语句。汇编时,伪指令不会产生目标代码。伪指令语句对应的伪操作在汇编过程中完成。宏指令语句由标号、宏指令和注释组成,是按照宏指令定义规则组成的一组指令语句和伪指令语句的集合。3.4汇编语言工具软件编辑程序:文本编辑器汇编程序:MASM连接程序:LINK调试程序:DEBUG生成的文件汇编原程序:*.ASM目标文件:*.OBJ列表文件:*.LST交叉引用表:*.CRF可执行程序:*.EXE连接映象:*.MAP2.5.1指令的执行过程1.指令执行的基本过程一条指令分为:取指令阶段、分析及取数阶段和执行阶段。⑴

取指令将现行指令从内存中取出来并送至指令寄存器中去。具体的操作为:①

将程序计数器PC中的内容通过地址总线AB送至内存地址寄存器AR。②

向内存发读命令。③

从内存中取出的指令经数据寄存器DR、数据总线DB送到指令寄存器IR中去。④

将PC的内容递增,为取下一条指令做好准备。2.5.1指令的执行过程⑵分析及取数指令译码器ID识别和区分不同的指令类型及各种获取操作数的方法无操作数指令,即转执行阶段。带操作数指令需要读取操作数,⑶执行执行阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。2.5.2一段程序的执行过程

计算a+b

温馨提示

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

评论

0/150

提交评论