版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章第八章 CPUCPU的结构和功能的结构和功能8.1.1 CPU8.1.1 CPU的功能的功能 CPU CPU是计算机中是计算机中执行程序执行程序的部件。表现在四个的部件。表现在四个方面的功能,由不同部件完成。方面的功能,由不同部件完成。 1.1.顺序控制顺序控制:即对程序中指令的执行顺序加以控:即对程序中指令的执行顺序加以控制;制;2.2.操作控制操作控制:按照一条指令要完成的功能,向相:按照一条指令要完成的功能,向相应部件发出操作控制信号;应部件发出操作控制信号;3.3.时间控制时间控制:对各种操作执行的时间进行定时;:对各种操作执行的时间进行定时;4.4.数据加工数据加工:对数据进行
2、算逻运算和中断处理;:对数据进行算逻运算和中断处理;8.1 CPU8.1 CPU的的结构结构8.1.2 8.1.2 CPUCPU的的结构结构ALU 使用使用系统总线的系统总线的CPU结构框图结构框图寄存器寄存器中断中断系统系统控制控制单元单元 CPU控控制制总总线线数数据据总总线线地地址址总总线线系统总线系统总线8.1.3 8.1.3 CPUCPU中的主要寄存器中的主要寄存器用户可见寄存器(可编程) 通用寄存器通用寄存器 数据寄存器数据寄存器 地址寄存器地址寄存器 累加寄存器(累加寄存器(ACC) 条件码寄存器(条件码寄存器(PSW)用户不可见寄存器(不可编程)作用:控制CPU的操作或运算,对
3、用户透明。 存储器地址寄存器存储器地址寄存器MAR,存放将被访问的存储,存放将被访问的存储单元的地址。单元的地址。 存储器数据寄存器存储器数据寄存器MDR,存放欲存入存储器中,存放欲存入存储器中的数据或最近从存储器中读出的数据。的数据或最近从存储器中读出的数据。 指令寄存器指令寄存器IR,存放当前欲执行的指令。,存放当前欲执行的指令。 程序计数器程序计数器PC,存放现行指令的地址,可自加,存放现行指令的地址,可自加一。一。8.1.4 指令的执行过程取指令指令地址送入主存地址寄存器读内存,读出内容送入指令寄存器分析指令指令操作码译码按指令规定内容执行指令不同指令的操作步骤数,和具体操作内容差异很
4、大检查有无中断请求若有,则转中断处理若无,则转入下一条指令的执行过程形成下一条指令地址形成下一条指令地址8.2 8.2 指令周期指令周期 CPUCPU取出并执行一条指令所需要的时间叫作取出并执行一条指令所需要的时间叫作指令周期指令周期。指令周期又包含:指令周期又包含:取指令、分析指令和执行指令取指令、分析指令和执行指令三个阶三个阶段,其中分析指令时间很短,可以合并至取指令阶段。段,其中分析指令时间很短,可以合并至取指令阶段。取指阶段取指阶段执行阶段执行阶段取指周期取指周期执行周期执行周期指令周期指令周期 由于各种指令所完成的操作及寻址方式不同,故各种由于各种指令所完成的操作及寻址方式不同,故各
5、种指令的指令的指令周期是不等长指令周期是不等长的。例如:的。例如:取指周期取指周期取指周期取指周期执行周期执行周期取指周期取指周期间址周期间址周期执行周期执行周期取指周期取指周期执行周期执行周期JMP XADD XADD XMUL X指令周期指令周期指令周期指令周期指令周期指令周期指令周期指令周期 CPUCPU在每条指令执行阶段在每条指令执行阶段结束前结束前,都要发出,都要发出中断查中断查询信号询信号,以检查是否有,以检查是否有中断中断请求。若有,则进入中断请求。若有,则进入中断周期,进行中断响应。周期,进行中断响应。否则否则,进入下一条指令周期。,进入下一条指令周期。取指周期取指周期有间址吗
6、?有间址吗?有中断吗?有中断吗?执行周期执行周期N间址周期间址周期Y中断周期中断周期YN8.2.1 指令周期流程图 为了教学的目的,采用一个假想计算机模型,为了教学的目的,采用一个假想计算机模型,说明各说明各CPU周期中的数据流。周期中的数据流。 1. 取指令周期取指令周期8.2.2 指令周期数据流 MARCUMDRPCIR存储器存储器地地址址总总线线数数据据总总线线控控制制总总线线 CPU 取指令周期取指令周期 将当前指令地址送存储器地址寄存器将当前指令地址送存储器地址寄存器, ,记作记作 PCMAR; 向主存发读命令,启动主存做读操作,记作向主存发读命令,启动主存做读操作,记作 1 R;
7、将主存单元内容经数据总线读至将主存单元内容经数据总线读至MDRMDR内,记作内,记作M(MAR) MDR; 将将MDRMDR内容送至内容送至IRIR内,记作内,记作 MDR IR ; 将将IRIR中的指令送控制单元进行指令分析,记作中的指令送控制单元进行指令分析,记作 IR CU; 对对PCPC进行修正,形成下一条指令的地址,记作进行修正,形成下一条指令的地址,记作 (PC)+1 PC 。2. 间址周期间址周期 (以以 ADD X 指令为例指令为例) MARCUMDR存储器存储器地地址址总总线线数数据据总总线线控控制制总总线线 CPU 将指令的地址部分(形式地址)送存储器地址寄存器将指令的地址
8、部分(形式地址)送存储器地址寄存器, ,记记作作 Ad(IR)MAR; 向主存发读命令,启动主存做读操作,记作向主存发读命令,启动主存做读操作,记作 1 R; 将主存单元内容经数据总线读至将主存单元内容经数据总线读至MDRMDR内,记作内,记作M(MAR) MDR; 将有效地址送指令寄存器的地址码字段,记作将有效地址送指令寄存器的地址码字段,记作MDR Ad(IR) 。间址周期间址周期3. 执行周期执行周期(以以 ADD X 指令为例指令为例)MARCUMDR存储器存储器地地址址总总线线数数据据总总线线控控制制总总线线ACCALU CPU 将指令地址码部分送存储器地址寄存器,记作将指令地址码部
9、分送存储器地址寄存器,记作 Ad(IR)MAR; 向主存发读命令,启动主存做读操作,记作向主存发读命令,启动主存做读操作,记作 1 R; 将主存单元内容经数据总线读至将主存单元内容经数据总线读至MDRMDR内,记作内,记作 M(MAR) MDR; 给给ALU发发“加加”命令,将命令,将AC内容和内容和MDR内容内容相加,结果送相加,结果送AC,记作记作 (AC)+(MDR) AC。4. 中断周期中断周期 MARCUMDRPC存储器存储器地地址址总总线线数数据据总总线线控控制制总总线线CPU 中断中断系统系统 中断周期中断周期 将堆栈指示器内容送存储器地址寄存器将堆栈指示器内容送存储器地址寄存器
10、, ,记作记作 SPMAR; 向主存发写命令,启动主存写操作,记作向主存发写命令,启动主存写操作,记作1 W; 将将PCPC内容送至内容送至MDRMDR内,记作内,记作 PC MDR; 将将MDRMDR内容写入到内容写入到MARMAR所指内存单元,记作所指内存单元,记作 MDR M(MAR) 。 将向量地址形成部件的输出送至将向量地址形成部件的输出送至PCPC,记作,记作向量地址向量地址 PC ; 关中断,即将中断允许触发器清关中断,即将中断允许触发器清0 0, 记作记作 0 EINT 。8.3 指令流水 为提高处理器执行指令的效率,把一条指令的操作分成为提高处理器执行指令的效率,把一条指令的
11、操作分成多个细小的步骤,每个步骤由专门的电路完成。多个细小的步骤,每个步骤由专门的电路完成。 例如假设一条指令要执行要经过例如假设一条指令要执行要经过3个阶段:取指令、译个阶段:取指令、译码和执行阶段,试比较采用流水和未采用流水所需的周期。码和执行阶段,试比较采用流水和未采用流水所需的周期。1. 提高访存速度提高访存速度2. 提高提高 I/O 和主机之间的传送速度和主机之间的传送速度 提高整机处理能力提高整机处理能力高速芯片高速芯片CacheI/O 处理机处理机DMA多总线多总线通道通道高速器件高速器件改进系统结构改进系统结构 ,开发系统的,开发系统的并行性并行性中断中断3. 提高运算器速度提
12、高运算器速度高速芯片高速芯片改进算法改进算法取指令取指令 3执行指令执行指令 32. 指令的二级流水指令的二级流水1. 指令的串行执行指令的串行执行指令预取指令预取若若 取指取指 和和 执行执行 阶段时间上阶段时间上 完全重叠完全重叠指令周期指令周期 减半减半 速度提高速度提高 1 倍倍取指令取指令 1执行执行指令指令 1 取取指令指令 2 执行执行指令指令 2 取取指令指令 3 执行指令执行指令 3取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 13. 指令的六级流水指令的六级流水完成完成 一一条指令需条指令需6 个时间单位个时间单位tCOFOEIWODIFICOFOE
13、IWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14试比较串行和流水执行九条指令所需的时间。试比较串行和流水执行九条指令所需的时间。8.4 中断系统 当前的计算机系统中,除了输入当前的计算机系统中,除了输入/输出外,还有很多事输出外,还有很多事情都可以通过中断的方式来处理。为此情都可以通过中断的
14、方式来处理。为此CPU中设有专门的中中设有专门的中断处理机构,即断处理机构,即中断系统中断系统,以解决各种中断的共性问题。,以解决各种中断的共性问题。 中断源及其分类中断源及其分类 把能引起中断的事件或能够发生中断请求的来源称为把能引起中断的事件或能够发生中断请求的来源称为中中断源断源。可分为以下几类:。可分为以下几类:8.4.1 中断源分类中断源分类 中断源中断源 内部中断:内部中断:CPU执行程序引起的中断。执行程序引起的中断。 外部中断:外部中断:系统中硬件引起的中断。系统中硬件引起的中断。 例如:软中断例如:软中断 程序性事故程序性事故 例如:例如:I/O设备设备 硬件故障硬件故障8.
15、4.2 中断系统须解决的问题中断系统须解决的问题1. 1. 各中断源如何向各中断源如何向CPUCPU提出提出中断中断请求;请求;2. 2. 多个中断源同时提出请求时,如何确定优先顺序;多个中断源同时提出请求时,如何确定优先顺序; 3. CPU3. CPU在什么条件、什么时候、以什么方式响应中断;在什么条件、什么时候、以什么方式响应中断;4. 4. 响应中断后,如何保护程序现场及断点;响应中断后,如何保护程序现场及断点;5. 5. 如何停止现行程序,转到中断服务程序的入口处;如何停止现行程序,转到中断服务程序的入口处; 6. 6. 中断结束后,如何恢复程序现场及原程序的执行;中断结束后,如何恢复
16、程序现场及原程序的执行; 7. 7. 在中断处理过程中,若又出现了新的中断请求,在中断处理过程中,若又出现了新的中断请求, CPUCPU如何处理。如何处理。8.4.3 中断请求标记和中断判优逻辑中断请求标记和中断判优逻辑1.1.中断请求标记中断请求标记 在中断系统中,为每一个中断源设置一个中断在中断系统中,为每一个中断源设置一个中断请求触发器(请求触发器(INTRINTR),用来记录有无中断请求。),用来记录有无中断请求。2.2.中断判优逻辑中断判优逻辑 由于由于CUPCUP一次只能执行一个程序,当多个中断一次只能执行一个程序,当多个中断源同时向源同时向CPUCPU提出中断请求时,提出中断请求
17、时,CPUCPU必须按中断源必须按中断源的优先次序依次响应。中断判优逻辑可以实现优的优先次序依次响应。中断判优逻辑可以实现优先级判别。先级判别。 8.4.4 中断判优逻辑中断判优逻辑 1. 1. 硬件排队 有有串行排队串行排队判优逻辑和判优逻辑和并行排队并行排队判优逻辑两种。判优逻辑两种。串行排队判优逻辑略。并行排队判优逻辑如下图:串行排队判优逻辑略。并行排队判优逻辑如下图:111& 1& 1& INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4优先级优先级 高高 低低 2. 2. 软件排队软件排队 通过通过程序查询程序查询实现。实现。A有
18、请求吗?有请求吗?Y转转A的服务的服务程序入口程序入口Y转转B的服务的服务程序入口程序入口B有请求吗?有请求吗?NY转转C的服务的服务程序入口程序入口C有请求吗?有请求吗?NNY转转A的服务的服务程序入口程序入口Y转转B的服务的服务程序入口程序入口8.4.5 获得中断服务程序入口地址获得中断服务程序入口地址 1. 1. 硬件向量法 利用硬件产生利用硬件产生向量地址向量地址,再由向量地址找到中断,再由向量地址找到中断服务程序入口地址。服务程序入口地址。 实现时可以采取两种办法。一种实现时可以采取两种办法。一种通过通过无条件转移无条件转移命令,向量地址送入命令,向量地址送入;另一;另一种是在主存中
19、留出种是在主存中留出一段区域,用以存放一段区域,用以存放中断向量表中断向量表,如下图如下图。向量地址向量地址形成部件形成部件 INTP1INTP2INTPn中断向量地址中断向量地址主存主存12H13H14H向量地址向量地址200300400中断服务程序中断服务程序入口地址入口地址或称中断向量或称中断向量 2. 2. 软件查寻法软件查寻法 对应于软件排队判优法。利用跳转指令直接转移对应于软件排队判优法。利用跳转指令直接转移至中断服务程序入口处。至中断服务程序入口处。1. 响应中断的条件中断系统中设置了一个中断允许触发器(中断系统中设置了一个中断允许触发器(EINT),它可通),它可通过开、关中断
20、指令来置位和复位。当过开、关中断指令来置位和复位。当EINT=1时,表示开中断,时,表示开中断,即即CPU允许响应中断请求;当允许响应中断请求;当EINT=0时,表示关中断,即时,表示关中断,即CPU不允许响应中断请求。所以,不允许响应中断请求。所以,CPU响应中断请求的必要条件响应中断请求的必要条件是:是:EINT=1,且有中断请求(,且有中断请求(INTRi=1)。)。8.4.6 中断响应中断响应2. 响应中断时间响应中断时间中断请求是随机产生的,但中断请求是随机产生的,但CPU只有在只有在指令执行指令执行周期末周期末,才能响应中断源的中断请求。,才能响应中断源的中断请求。通常,通常,CP
21、U在指令执行周期结束时刻向所有中断在指令执行周期结束时刻向所有中断源发出源发出中断查询信号中断查询信号,获知是否有中断请求,继而进,获知是否有中断请求,继而进入入中断周期中断周期。3. 中断隐指令中断隐指令在中断周期内,在中断周期内,CPU要自动完成:要自动完成: 保护程序保护程序断点断点 获得中断服务程序入口地址获得中断服务程序入口地址 关中断关中断的的操作,对于程序设计者来说,这些操作可以认为由操作,对于程序设计者来说,这些操作可以认为由一条隐含指令完成,称为一条隐含指令完成,称为中断隐指令中断隐指令。 为了在中断处理后,现行程序能继续执行,在为了在中断处理后,现行程序能继续执行,在进入中
22、断服务程序执行之前,需要保护现行程序的进入中断服务程序执行之前,需要保护现行程序的断点和断点和CPU内寄存器的值,称作内寄存器的值,称作保护现场保护现场。 中断返回之前,必须恢复寄存器的值,也是在中断中断返回之前,必须恢复寄存器的值,也是在中断服务程序内完成。服务程序内完成。8.4.7 保护现场和恢复现场保护现场和恢复现场8.4.8 中断屏蔽技术中断屏蔽技术多重中断的概念例行程序例行程序A中断源中断源请求请求A服务程序服务程序B中断源中断源请求请求B服务程序服务程序单重中断过程示意单重中断过程示意A中断源中断源请求请求B中断源中断源请求请求C中断源中断源请求请求例行程序例行程序A服务服务程序程
23、序B服务服务程序程序C服务服务程序程序多重中断过程示意多重中断过程示意2.2.实现多重中断的条件 开中断 在中断周期中,由隐指令自动置在中断周期中,由隐指令自动置EINT=0EINT=0,即关中,即关中断。为了在中断服务程序中能再次响应中断,必须在断。为了在中断服务程序中能再次响应中断,必须在服务程序中开中断。服务程序中开中断。 多重中断一般嵌套规则多重中断一般嵌套规则 优先级高的中断源可以中断优先级低的中断源;优先级高的中断源可以中断优先级低的中断源; 同级中断源不能中断同级中断;同级中断源不能中断同级中断; 优先级低的中断源不能中断优先级高的中断源。优先级低的中断源不能中断优先级高的中断源。3. 3. 屏蔽技术 屏蔽触发器和屏蔽字 在中断系统中,为每个在中断系统中,为每个可屏蔽中断源可屏蔽中断源设置一个屏蔽触发设置一个屏蔽触发器(器(MASKMASKi i,即一个标志位即一个标志位),), 当当MASKMASKi i=1=1时,对应中断源时,对应中断源被被屏蔽屏蔽,CPUCPU不能得到此中断源的请求。不能得到此
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 博物馆展柜灯光调试技师考试试卷及答案
- 麻醉临床技能培训中高仿真模拟人的核心作用
- 阻塞性睡眠呼吸暂停(OSA)成人患者围手术期管理专家共识(2025完整版)
- T∕CATAGS 66.2-2025 无人驾驶航空器系统指挥控制传输设备适航 第二部分:终端要求
- 广东揭阳市惠来县第一中学2026年高三年级第二学期阶段测试化学试题含解析
- 河南省兰考县第二高级中学2026届高三下学期考前冲刺(三)化学试题试卷含解析
- 巨噬细胞极化与肿瘤微环境信号网络
- 2026届青海省西宁市大通二中高三期末化学试题含解析
- 极端高温下远程心梗急救的临床效果研究
- 2025~2026学年海南五指山市度第一学期期末测试卷七年级英语
- 环卫驾驶员安全知识培训课件
- 水上乐园管理制度与安全操作规范
- 2025年贵州综合评标专家库评标专家考试综合能力测试题及答案二
- 丁螺环酮药物研究与应用
- 陕西省安全员C3证考试题库及答案
- 2025江苏卫生系统招聘考试(医学检验技术)强化练习题及答案
- 储能电站设备采购与管理方案
- 2025年中国石化齐鲁石化招聘笔试备考题库(带答案详解)
- 人工智能 可信赖 第1部分:通则 征求意见稿
- 年产200吨高纯金属铯铷项目报告书
- 2025具身智能行业发展研究报告
评论
0/150
提交评论