第一章计算机系统概述.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1操作系统浙江工业大学计算机科学与技术学院陆亿红lyh@zjut.edu.cn2计算机硬件系统概述第一章3操作系统定义操作系统是一组有效控制和管理计算机系统的硬件和软件资源、合理地组织计算机工作流程以及方便用户的程序集合。–有效(efficiency):系统效率,资源利用率(如:CPU利用的充足与否,内存、外部设备是否忙碌)–合理:公平与否,如果不公平则会产生“死锁”或“饥饿”–方便(convenience):用户界面4计算机硬件系统结构大、中、小型计算机的硬件组织这类计算机以存储器为中心,CPU和各种通道都与存储器相连。终端打印机多路通道存储器CPU选择通道5微型计算机的典型组织微型计算机是以总线为纽带来构成计算机系统,中央处理机(CPU)、存储器、I/O设备(包括外存磁盘、磁带)都挂接在总线。CPUDMA打印机终端存储器磁盘控制器打印机控制器终端控制器磁盘驱动器CPUDMA打印机终端存储器磁盘控制器打印机控制器终端控制器磁盘驱动器CPUDMA打印机终端存储器磁盘控制器打印机控制器终端控制器磁盘驱动器61.1基本构成处理器(Processor)–控制计算机的操作,执行数据处理功能主存储器(MainMemory)–存储数据和程序(易失的)输入/输出模块(I/Omodules)–在计算机和外部环境间移动数据–辅存–通信设备–终端(如打印机)系统总线(Systembus)–连接处理器、主存储器和输入/输出模块7计算机部件:顶层视图81.2处理器寄存器处理器执行单元(运算器)控制单元(控制器)寄存器:存储数据,容量小,速度快–用户可见寄存器–控制和状态寄存器9用户可见寄存器对所有程序是可见的,可通过由处理器执行的机器语言来访问常用的寄存器包括:–数据寄存器(dataregister)–地址寄存器(addressregister)变址寄存器(Indexregister)段指针(Segmentpointer)栈指针(Stackpointer)10控制和状态寄存器(1)存储器地址寄存器(Memoryaddressregister,MAR)–指定下一次要读写的存储器地址存储器缓冲寄存器(Memorybufferregister,MBR)–包含要写入存储器的数据或者从存储器读取的数据I/O地址寄存器(I/Oaddressregister,I/OAR)–指定一个特定的输入/输出设备I/O缓冲寄存器(I/Obufferregister,I/OBR)–保存输入/输出设备和处理器交换的数据11控制和状态寄存器(2)程序计数器(ProgramCounter,PC)–包含将取指令的地址指令寄存器(InstructionRegister,IR)–包含最近取的指令内容程序状态字(ProgramStatusWord,PSW)–条件码(Conditioncodes):处理器硬件为操作结果设置的位,如算术运算的溢出等–中断允许禁止位(Interruptenable/disablebit)–管理程序/用户模式位(Supervisor/usermodebit)Example:PSWofM680001514131211109876543210TSI2I1I0XNZVCConditionbit:C:carrybitV:overflowbitZ:zerobitN:negativebitI0–I2:threeInterruptbitS:thestatusbitofCPU(为1处于系统态,为0处于用户态)T:Trapbit(中断标志位为1,在下一条指令执行后引起自陷中断)131.3指令的执行处理器执行的程序由一组保存在存储器中的指令组成。两步–处理器每次从存储器中读(取)一条指令取指周期–处理器执行指令执行周期14取指周期根据PC的值,处理器从存储器中取一条指令–(PC)-MAR,Read存储器中取出的指令放到指令寄存器IR中–(M)-MBR-IR每次取指之后处理器递增PC以便取下一条指令–PC+1-PC15执行周期处理器对所取指令进行解析,并执行相应操作–数据传输处理器-存储器处理器-I/O设备–数据处理数据的算术或逻辑运算–控制改变执行顺序,如跳转指令16一台理想机器17程序执行示例把地址为940与941的两个存储单元中的内容相加,并将结果保存在后一个单元中。0001:从内存中加载到AC0010:把AC内容存到内存中0101:从内存中加到AC中181.4中断中断是提高处理器效率的一种技术。I/O设备的速度远远慢于处理器速度–处理器需要暂停等待I/O设备工作结束中断技术允许处理器与I/O操作并发执行,以提高处理器使用率。进程可以因外部事件而中断,中断处理完后还需要从中断点恢复进程的执行。19中断中断是指CPU对系统中发生的异步事件的响应,发生中断时正在执行的程序的暂停点叫做中断断点,处理器暂停当前程序转而处理中断的过程称为中断响应,中断处理结束之后恢复原来程序的执行被称为中断返回。一个计算机系统提供的中断源的有序集合一般被称为中断字,这是一个逻辑结构,在不同的处理器有着很不相同的实现方式。20中断指令的正常执行序列被打断21中断的分类程序中断:因指令的执行结果而产生,如算术溢出、被零除等。时钟中断:由处理器内部的计时器而产生。通常在分时系统中每个进程分配了一个时间片,当进程用完时间片后就会发生一个时钟中断,系统将处理器分配给另一个进程使用。I/O中断:由I/O控制器产生,通常在I/O操作正常完成或错误时发出信号提示处理器响应中断,是最常见的中断类型。硬件失效中断:因硬件故障而产生。22无中断时程序控制流23有中断时程序控制流(短时间的I/O等待)中断处理例程•为某个特定I/O设备而服务的程序•通常属于操作系统的一部分24有中断时程序控制流(长时间的I/O等待)该图中因I/O操作需要花费很长的时间,当用户程序发出第二次写请求时,第一次的I/O操作还没有完成,此时用户程序必须等待。25中断周期26中断周期在一条指令执行结束后,处理器检查当前系统是否允许中断(检查哪里的值?)如果允许中断,处理器判断是否有中断请求如果没有中断,则从当前的指令序列中取下一条指令执行如果有中断,则挂起当前程序的运行,转去执行中断处理例程(如何跳转?)27中断系统中断系统是现代计算机系统的核心机制之一,它不是单纯的硬件或者软件,而是硬件和软件结合。中断系统包括两大组成部分:中断系统的硬件中断装置和软件中断处理程序。–硬件中断装置负责捕获中断源发出的中断请求,并以一定的方式响应中断源,然后将处理器的控制权移交给特定的中断处理程序。–软件中断处理程序则负责辨别中断类型并根据请求做出相应的操作。IBM-PC中断逻辑和中断源非屏蔽中断请求(机器故障)中断逻辑中断指令INT溢出中断INT0除法错中断单步中断T=1中断控制器8259A可屏蔽中断请求INTR29简单中断处理设备给处理器发出中断请求信号处理器结束当前指令的执行处理器发出中断应答信号以响应中断保存当前程序的断点信息(PSW和PC压入控制栈)转向中断处理例程入口(加载新的PC值)执行中断处理例程(软件实现)30因中断而产生的存储器和寄存器变化T-MT-MT-M31多个中断第一种处理办法:当处理器正在处理中断时,禁止再发生中断所有中断都严格按照顺序处理。32禁止中断通过软件实现–在处理中断前先使用禁止中断指令,将中断允许/禁止位置位1–在中断处理结束后使用允许中断指令,将中断允许/禁止位置为0(假设中断允许/禁止位置位=1表示禁止中断,中断允许/禁止位置位=0表示允许中断)缺点:没有考虑中断的相对优先级T和时间限制要求。33多个中断第二种办法:定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。34多个中断处理示例35多道程序设计允许多个用户程序同时处于活动状态程序执行的顺序取决于其相对优先级以及是否等待I/O操作当处理器处理完中断后,可能不一定立即返回这个用户程序断点运行,而是转移到其他待运行的具有更高优先级的程序运行。36存储器的层次结构Howmuch?Howfast?Howexpensive?存取时间越快,每bit的价格就越高容量越大,每bit的价格就越低容量越大,存取速度就越慢37存储器层次结构每bit价格递减容量递增存取时间递增处理器访问存储器的频率递减–局部性原理:处理器“成簇”地访问指令和数据38示例:一个简单的二级存储系统性能分析Level1contains1000bytesandhasanaccesstimeof0.1us;Level2contains100,000bytesandhasanaccesstimeof1us.ProcessoraccessesLevel1directly,andifthebyteinlevel2,thebyteisfirsttransferredtolevel1andaccessedbytheprocessor.ThehitratioHis95%.Theaveragetimetoaccessabyteis:T=0.95*0.1us+0.05*(1us+0.1us)=0.15us39高速缓冲存储器Cache处理器执行指令的效率受存储周期时间(存储器读或写的时间)限制如何解决?–提高存储器的速度(成本昂贵)–利用局部性原理,在处理器和主存储器之间提供一个容量小而速度快的存储器:cache40Cache41Cache包含一部分主存数据的副本。处理器访问存储器中数据(字节)时,首先检查该数据是否在Cache中;如果不在cache中,则包含所需数据(字节)的一个数据块被读入Cache,再传递给处理器。Cache/主存储器结构用于标识当前存储的是哪一个块2n-1C-143Cache读操作44Cache设计Cache大小–太小,存储数据量少,冲突频率加大–太大,读取速度减慢Block大小–块:cache和主存进行数据交换的单元–块大小从很小增大时,因局部性原理,命中率将增加–随着块大小不断增大,到一定值时,再增加块的大小,读进无用的数据大于局部性原理的影响,命中率反而降低45Cache设计映射函数(Mappingfunction)–确定新读进的数据块将占据哪个cache单元替换算法(Replacementalgorithm)–当cache满了,确定哪一个块将被替换–最近最少使用算法(Least-Recently-Usedalgorithm,LRU)写策略(Writepolicy)–当块的内容被修改时,确定何时写回主存储器直写:每次块内容被修改时都写回主存回写:只有当块被替换时才写回主存–减少了存储器写操作的次数–导致数据不一致性46I/O通信技术ProgrammedI/O——程序控制I/OInterrupt-drivenI/O——中断驱动I/ODirectmemoryaccess(DMA)——直接存储器存取4748DMA技术程序控制I/O和中断驱动I/O存在两方面固有缺陷:–I/O传送速度受限于处理器测试设备和提供服务的速度–处理器需要承担与I/O设备进行数据传送的工作DMA模块解决上述问题–DMA模块完成I/O与主存之间的数据交换–DMA模块占用总线以完成数据交换(“总线窃取”)49作业P27习题1.1P28习题1.13

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功