第二章 处理器管理ok_第1页
第二章 处理器管理ok_第2页
第二章 处理器管理ok_第3页
第二章 处理器管理ok_第4页
第二章 处理器管理ok_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

2020/5/1,1,计算机组成和操作系统,2,第二章处理器管理,CPU的工作原理指令系统进程和线程,3,1CPU的工作原理,1.1CPU的功能指令控制按顺序执行指令,指令的先后次序不能颠倒。操作控制指令的执行就是一系列微操作序列,CPU协调各个功能部件按指令的要求完成操作。时间控制指令的执行过程受到时间的严格控制。数据加工对数据进行算术运算和逻辑运算。,4,1.2CPU的组成运算器加工信息。包括:算术运算、逻辑运算。控制器从内存取出一条指令,并指出下条指令的地址;对指令进行译码,产生相应的微控制信号;控制CPU、内存和I/O设备之间的数据传送。,CPU的工作原理,5,CPU模型图,6,1.3CPU的寄存器通用寄存器用于数据处理过程中临时存放地址和数据,可用于不同用途。控制类寄存器程序计数器PC:存放下一条指令的地址指令寄存器IR:存放当前正在执行的指令地址寄存器MAR:存放CPU要访问的主存地址数据寄存器MDR:CPU和主存或外设之间的数据中转站,弥补他们之间的速度差异累加器AC:暂存ALU的计算结果状态条件寄存器PSR:ALU运算结果、中断信息,系统工作状态信息,CPU的工作原理,7,1.4CPU工作的基本周期,启动,程序执行完了吗?,取出指令,分析指令,执行指令,是否有中断请求?,转中断处理程序,是,否,否,返回,CPU的工作原理,结束,是,8,1.5运算器的功能和组成功能通过加法、移位、取补和一些逻辑操作,进行各种算术运算和逻辑运算。组成算术逻辑部件ALU,通用寄存器(累加器AC),专用寄存器(PSR)和附加的控制线路。,CPU的工作原理,9,1.6控制器的功能和组成控制器的功能取指令:从内存取出指令(码)送CPU。分析指令:对指令码进行分析译码,判断其功能、操作数寻址方式等。执行指令:根据指令分析的结果,执行计算操作数地址、取操作数、运算等操作。中断处理和响应特殊请求。计算机工作的过程,就是循环往复的取指令、分析指令、执行指令的过程。,CPU的工作原理,10,控制器组成1程序计数器(PC):存放指令的地址(当前指令或者下一条指令地址);当指令顺序执行时,由PC+1产生下一条指令的地址;当遇到转移指令时,转移地址PC作为下一条指令的地址。2指令寄存器(IR):存放当前指令的指令码;3指令译码器(ID):对指令寄存器中的指令操作码字段(OP)进行译码。译码器的输出信号送入操作控制信号形成部件,产生该指令所需要的有一定时序关系的操作控制信号序列。,CPU的工作原理,11,4时序信号产生器:负责提供时钟信号和机器周期信号,以规定每个操作的时间。启停线路,负责控制时钟脉冲的送出与封锁,从而实现计算机硬件的启动与停止。5操作控制信号形成部件:根据指令的操作码以及时序信号,产生取出指令和执行这条指令所需的各种操作控制信号。采用组合逻辑电路的控制器,称作硬布线控制器;采用存储逻辑的称作微程序控制器。,CPU的工作原理,12,1.7CPU的分类按照CPU内部的数据总线结构,可分为:单总线:CPU内部的所有部件都连接到一个公共通道上,任何两个部件之间的数据传送都必须经过这条总线。双总线:有输入和输出两条总线。三总线:输入数据总线、寄存器数据总线、ALU输出总线。,CPU的工作原理,13,2指令系统,2.1什么是指令和指令系统指令就是计算机执行某种操作的命令指令系统是CPU能够识别并执行的所有指令的集合。,14,2.2计算机指令系统的发展过程50年代指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。60年代增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达几百条,寻址方式也有十几种,这些计算机又称为复杂指令集计算机(CISC)。70年代复杂指令集计算机(CISC)的指令系统庞大、指令系统难以保证正确性,不易调试维护,人们又提出了便于实现的精简指令集计算机(RISC)。,指令系统,15,CISC和RISC的比较:ComplexInstructionSetComputer指令数量多,指令功能复杂。CISC处理的是不等长指令集,指令需进行分割后才能执行,因此需要较多的处理工作应用广泛(DOS,windows)ReducedInstructionSetComputer只包含使用频率很高的少量指令,并提供一些必要的指令以支持操作系统和高级语言RISC执行的是等长精简指令集,执行速度较快且性能稳定制造工艺简单,成本低廉支持的应用程序少,指令系统,16,2.3指令的格式一条指令说明计算机硬件应该执行什么样的操作,其基本格式如下所示:,其中:操作码字段表示指令的操作功能地址码字段指定操作数的地址指令字长为机器字长的整数倍,指令系统,17,2.3.1操作码固定长度:指令的操作码部分所占的二进制位数不变可变长度:指令的操作码部分所占的二进制位数可变,指令系统,18,2.3.2地址码三地址指令:D1和D2为操作数地址,D3位存放操作结果的地址。一般用于大、中型计算机。二地址指令:D1和D2为操作数地址,其中D1兼作存放结果的地址。一地址指令:对单个操作数进行加工。零地址指令:由堆栈提供操作数。,指令系统,19,2.4指令系统的分类和功能数据传送指令该类指令用于实现主存和寄存器之间,或寄存器和寄存器之间的数据传送。例如Intel8086的如下指令:MOVAX,3;,指令系统,20,算式运算指令该类指令主要用于定点或浮点的算术运算,包括加、减、乘、除指令等。例如Intel8086的如下指令:ADDAX,2;INCCX;SUBBX,1;,指令系统,21,逻辑运算指令该类指令包括与、或、非、异或等逻辑操作例如Intel8086的如下指令:ANDAX,1;XORBX,BX;移位运算指令该类指令分为算术移位、逻辑移位和循环移位3种,可以对操作数左移或右移一位或若干位。,指令系统,22,堆栈操作指令压入指令PUSH:把指定的操作数压入栈底。弹出指令POP:把栈顶的操作数弹出。例如Intel8086的如下指令:PUSHAX;POPBX;转移指令该类指令的功能是控制程序运行的顺序和方向,包括无条件转移指令和条件转移指令。例如Intel8086的如下指令:JMPaddress;(有条件转移)JNZloop;(无条件转移),指令系统,23,2.5指令系统与计算机语言的关系计算机语言大体分为以下两类:高级语言语句和用法与具体机器的指令系统无关,如java,C+。低级语言机器语言(二进制语言)汇编语言(符号语言)低级语言和具体机器的指令系统密切相关。,指令系统,24,高级语言通过编译程序转换为机器语言例如以下C语言代码:voidmain()inta;a=a+1;经过编译后,红色语句形成的汇编代码如下:moveax,dwordptrebp-4addeax,1movdwordptrebp-4,eax,指令系统,25,3进程管理,3.1进程的引入单道程序的顺序执行:顺序:多个程序之间,同一程序内部封闭:独占系统中所有资源可再现:只要初始条件相同,运行结果也相同多道程序的并发执行间断:由于共享资源或相互合作,程序并发运行时相互制约失去封闭:程序执行受到外界影响失去可再现:程序的每次运行,其执行周期、执行过程中系统资源的状态都会不同为了能描述程序并发运行的动态过程,引入进程概念,26,进程管理,3.2进程的定义进程是并发执行的程序在一个数据集合上的执行过程。程序是进程的基础进程是系统中独立存在的动态实体进程的并发性通过对资源的竞争来体现进程是对数据进行处理的过程,27,3.3进程和程序的关系进程是动态的,程序是静态的进程由创建而产生,由调度而执行,因得不到资源而暂停执行,因撤消而消亡。程序是一组有序指令的集合,存放在某种介质上。进程具有并发性,程序具有顺序性进程是一个独立运行的实体,能够进行独立调度和并发执行。程序中的语句顺序执行。,进程管理,28,进程是暂时的,程序是永久的进程是程序的一次执行过程程序是一个被存储的实体结构不同进程:程序,数据和进程控制块进程和程序密切相关一个进程可以执行多个程序一个程序可以对应多个进程如:编译程序和对个源程序(进程)之间,进程管理,29,3.4进程的运行,分时操作系统中,任意时刻只有一个进程运行。,进程管理,30,3.5进程的基本状态就绪状态(readystate)进程已获得运行所需的除处理器之外的所有资源,只等处理器空闲。所有就绪状态进程按照一定的规则排列在就绪队列中。运行状态(runningstate)进程正在占用CPU运行。阻塞状态(waitingstate)等待外部事件发生,暂停运行,无法竞争使用CPU。系统可按等待原因不同,分成多个阻塞队列。,进程管理,31,创建状态(newstate)分配PCB结构,填写相关内容分配所需资源建立地址空间,填写内存管理的相关表格加载程序等待进入就绪队列退出状态(terminatedstate)进程正常结束或异常结束,释放资源。进程释放资源后会暂留内存,等待其它进程收集PCB模块中的相关信息。如:CPU使用时间,使用资源类型等。,进程管理,32,进程状态转换图,进程管理,33,3.6进程的挂起状态引入挂起状态的原因内外存对换的需要将内存中处于阻塞状态的进程换至外存用户调试程序的需要便于用户研究进程的执行情况,或对程序进程修改实时系统中调节负载的需要将不太重要和不太紧急的进程挂起以保证对紧急事件的及时处理,进程管理,34,单挂起进程状态转换图,进程管理,35,3.7进程组成进程由程序、数据、堆栈和PCB组成。程序和数据是进程的实体。堆栈记录程序调用时的参数和调用地址信息。PCB记录进程运行的动态信息。,进程管理,36,1.进程控制块(PCB,ProcessControlBlock)进程描述信息进程名(用户)进程标识符(系统)处理器状态信息通用寄存器指令计数器程序状态字寄存器(PSW)栈指针,进程管理,37,(PCB续)进程调度信息进程状态进程优先级运行时间统计信息进程阻塞原因进程控制和资源占用信息程序入口地址进程挂起时的外存地址进程同步和通信中使用的信号量和消息队列指针资源占用信息链接指针(指向下一个进程的PCB),进程管理,38,2.进程与PCB的关系系统中所有进程都有自己的PCB。操作系统利用PCB实现进程的动态管理和并发执行。PCB是进程存在的唯一标志。,进程管理,39,进程管理,3.PCB的组织链接方式,40,4.进程切换时的PCB,进程管理,41,3.8进程调度队列就绪队列:处于就绪状态的进程列表阻塞队列:处于阻塞状态的进程列表设备队列:等待I/O设备的进程列表进程在执行过程中在不同的队列之间移动。,进程管理,42,进程调度的队列,进程管理,43,4进程控制,进程从产生到消亡的整个过程由操作系统控制。1.内核操作系统中和硬件紧密相关的部分功能称为内核。内核是在计算机硬件上扩充的第一层软件,由原语组成。内核常驻内存,运行在核心态(系统态)。2.原语原语由若干指令组成,用于完成一定功能的操作。原语执行过程中不可中断。,44,3.进程控制原语进程建立CreateProcess()进程调度进程阻塞block()和唤醒wakeup()进程终止ExitProcess()和TerminateProcess()进程挂起suspend()和激活resume(),进程控制,45,5线程,5.1线程的引入1.引入目的减少程序并发执行时所付出的时间和空间开销。2.进程的基本属性1)进程是可以拥有资源的独立单位。2)进程又是一个可以独立调度和分派的基本单位。,46,3.进程并发执行,OS执行的操作1)创建进程:建立PCB,分配内存等;2)撤销进程:回收资源,撤销PCB;3)进程切换:保存现场4.线程的定义线程是进程的一部分实体,是被独立调度和分派的基本单位。,47,5.2线程和进程的关系一个进程可以有多个线程,但至少要有一个线程(主线程);一个线程只能在一个进程的地址空间内活动。同一进程的所有线程共享该进程的

温馨提示

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

评论

0/150

提交评论