《计算机操作系统 》课件-2.1处理器计算_第1页
《计算机操作系统 》课件-2.1处理器计算_第2页
《计算机操作系统 》课件-2.1处理器计算_第3页
《计算机操作系统 》课件-2.1处理器计算_第4页
《计算机操作系统 》课件-2.1处理器计算_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

第二章操作系统硬件基础目录1.处理器计算2.存储系统3.中断和时钟本章学习要点1)了解处理器的基本结构和执行指令过程2)存储器结构和种类,以及堆栈的作用3)磁盘的结构和使用方式4)掌握中断的处理过程以及时钟在系统中的作用2.1处理器计算计算机系统中最主要的两类资源是计算资源和存储资源。本节主要介绍计算机系统中的计算资源,包括处理器指令,寻址方式和寄存器。也就是简单的介绍在计算机中执行指令的过程。2.1.1处理器指令计算机的所有操作都是由机器指令/计算机指令所决定的。每条计算机指令必须包含处理器执行所需的信息:操作码、源操作数、目的操作数和下一条指令地址。图2-1给出了指令执行步骤。图2-1指令执行步骤每条计算机指令必须包含处理器执行所需的信息:操作码、源操作数、目的操作数和下一条指令地址。操作码代表了指令要完成的具体操作。操作码分成几类:数据传递、算术运算、逻辑运算、转换、输入输出、系统控制和控制传递。源操作数是指具体操作所需的输入,可以是一个也可以是多个。源操作数一般来源于寄存器、内存。目的操作数是指具体操作的结果,可在寄存器或者内存中。下一条指令地址给出了当前这条指令执行完成后去哪里取下一条指令。图2-2给出了一个简单的处理器指令格式,还有很多其他类型的指令格式。在指令的执行过程中,根据指令计数器给出的地址从内存读取一条指令到处理器相应的指令寄存器中,处理器通过分析这条指令所包含的各个字段获取操作数,并执行操作码所指定的操作,最后将操作结果存入目的操作数当中。同时,在读入这条指令后,指令计数器根据当前指令所占存储空间,自动的指向下一条指令的地址。图2-2一种简单的处理器指令格式因为机器指令都是由二进制表示的,可读性差。为了增强可读性,机器指令一般采用指令符号表示。以下给出几个简单的例子:ADD 加法操作SUB 减法操作MPY 乘法操作DIV 除法操作LOAD 从存储器取数据操作STOR 将数据存储到存储器操作不但操作码可以用符号表示,源操作数和目的操作数都可以用符号来表示。下面给出一个简单的例子:ADD R,Y这条指令包含以下几个含义:有两个源操作数,一个源操作数存储在内存中,地址是Y;另一个操作数存储在R寄存器中;

两个操作数要进行ADD(加法操作),也即内存中的一个数加上寄存器中的一个数;并将结果存入到目的操作数,也即寄存器R中[1]。2.1.2寻址方式寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式,是确定本条指令相关的数据地址以及下一条要执行的指令地址的方法。根据查找数据地址还是指令地址,寻址方式分为两类,即指令寻址方式和数据寻址方式,前者比较简单,后者比较复杂。但是指令寻址与数据寻址是交替进行的,先进行指令寻址,查找到指令后读入处理器,在执行这条指令的过程中需要进行多次的数据寻址,找到操作数。执行完这条指令后,又一次进行指令寻址,查找下一条指令。此过程交替执行。1.两种指令寻址方式(1)顺序寻址方式指令一般顺序的存储在内存中,当执行一段程序时,通常是一条指令接一条指令地顺序取指执行。也就是说,从存储器取出第1条指令,执行这条指令,接着从存储器取出第2条指令,执行第2条指令,依次执行。对这种顺序执行的过程,对应的指令取指方式叫做顺序寻址方式。为此,必须使用程序计数器(又称指令计数器)PC来记录指令的地址。处理器根据PC给出的地址取出相应指令,同时修改PC的值,使其指向下一条指令地址。1.两种指令寻址方式(2)跳跃寻址方式当程序执行转移或者函数调用等相关指令时,需要改变顺序执行模式,那么指令的寻址就会采取跳跃寻址方式。所谓跳跃,是指下条指令的地址码不是由程序计数器PC给出,而是由正在处理器上执行的指令给出。程序跳跃后,按新的指令地址开始顺序执行。因此,PC的内容也必须相应改变,以便及时跟踪新的指令地址。采用指令跳跃寻址方式,可以实现程序转移,构成循环程序,从而能缩短程序长度,或将某些程序作为公共程序引用。指令系统中的各种条件转移、无条件转移指令以及函数调用,就是为了实现指令的跳跃寻址而设置的。2.数据寻址方式形成操作数的有效地址的方法称为数据寻址方式。下面介绍一些比较典型又常用的数据寻址方式。(1)隐含寻址(2)立即寻址(3)直接寻址(4)间接寻址(5)寄存器寻址方式和寄存器间接寻址方式(6)相对寻址方式(7)基址寻址方式(8)变址寻址方式(9)块寻址方式2.1.3寄存器寄存器是中央处理器的组成部分,是有限存贮容量的高速存储部件,可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器/指令计数器(PC)。在中央处理器的算术及逻辑部件中,寄存器有累加器(ACC)。寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器的读写速度高,因此在寄存器之间的数据传送非常快。寄存器是系统获得操作数的最快速途径。寄存器通常都是以他们可以保存的位数量来定义,举例来说,一个“8位寄存器”或“32位寄存器”。例如,x86指令集定义八个32位寄存器的集合,但一个实际x86指令集的CPU可以包含比八个更多的寄存器。1.寄存器分类根据根据寄存器的用途,主要分成以下几类:(1)数据寄存器:用来储存整数数字。在某些简单/旧的CPU中,特别地,数据寄存器是累加器,作为数学计算之用。(2)地址寄存器:用来存放存储器地址,用来访问存储器。(3)通用目的寄存器(GPRs):保存数据或地址,即结合了数据寄存器或地址寄存器的功能。(4)浮点寄存器(FPRs):用来储存浮点数据。(5)常数寄存器:用来存放只读的数值(例如0、1、圆周率等等)。(6)向量寄存器:用来储存由向量处理器运行SIMD(SingleInstruction,MultipleData)指令所得到的数据。(7)特殊目的寄存器:储存CPU内部的数据,比如程序计数器、堆栈寄存器、程序状态寄存器等。(8)指令寄存器:储存当前正在被执行的指令。(9)索引寄存器:用于在程序运行过程中更改运算对象的地址。2.X86寄存器X86有14个32位寄存器,按用途可分为通用寄存器、指令指针、标志寄存器和和段寄存器4类。(1)通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长。32位CPU的通用寄存器有8个:EAX,EBX,ECX,EDX,EBP,ESP,ESI,EDI,又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个)。(2)数据寄存器EAX:累加寄存器,常用于运算,在乘除等指令中指定用来存放操作数。另外,所有的I/O指令都使用EAX与外设传送数据。EBX:基址寄存器,常用于地址索引。ECX:计数寄存器,常用于计数,如在移位指令、循环(loop)和串处理指令中用作隐含的计数器。EDX:数据寄存器,常用于数据传递。指针寄存器和变址寄存器:ESP:堆栈指针,与SS配合使用,可指向目前的堆栈位置。EBP:基址指针寄存器,可用作SS的一个相对基址位置。ESI:源变址寄存器,可用来存放相对于DS段之源变址指针。EDI:目的变址寄存器,可用来存放相对于ES段之目的变址指针。这4个32位寄存器主要用来形成操作数的有效地址。(2)指令指针EIP指令指针EIP是一个32位专用寄存器,它指向当前需要取出的指令字节,当BIU(总线接口部件)从内存中取出一个指令字节后,EIP就自动加上所取出指令的长度,以指向下一个指令字节,如:BIU从内存中取出的是1个字节,EIP就会自动加1;若BIU从内存中取出的字节数长度为3,则EIP就自动加3。注意,EIP指向的是指令地址的段内地址偏移量,又称偏移地址(OffsetAddress)或有效地址(EA,EffectiveAddress)。(3)标志寄存器EFRX86有一个32位的标志寄存器EFR,在EFR中有意义的主要有9位,其中6位是状态位,3位是控制位。标志寄存器又称程序状态字(EPSW),用于存放条件标志、控制标志等,以反映处理器的状态和运算结果的某些特征及控制指令的执行。(4)段寄存器为了运用所有的内存空间,X86设定了四个段寄存器,专门用来保存段地址

温馨提示

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

评论

0/150

提交评论