计算机组成原理第八章_第1页
计算机组成原理第八章_第2页
计算机组成原理第八章_第3页
计算机组成原理第八章_第4页
计算机组成原理第八章_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

第八章CPU的结构和功能8.1.1CPU的功能CPU是计算机中执行程序的部件。表现在四个方面的功能,由不同部件完成。

1.顺序控制:即对程序中指令的执行顺序加以控制;

2.操作控制:按照一条指令要完成的功能,向相应部件发出操作控制信号;

3.时间控制:对各种操作执行的时间进行定时;

4.数据加工:对数据进行算逻运算和中断处理;8.1CPU的结构8.1.2CPU的结构ALU

使用系统总线的CPU结构框图寄存器中断系统控制单元

CPU控制总线数据总线地址总线系统总线8.1.3CPU中的主要寄存器用户可见寄存器(可编程)

•通用寄存器•数据寄存器

•地址寄存器•累加寄存器(ACC)

•条件码寄存器(PSW)用户不可见寄存器(不可编程)作用:控制CPU的操作或运算,对用户透明。

•存储器地址寄存器MAR,存放将被访问的存储单元的地址。

•存储器数据寄存器MDR,存放欲存入存储器中的数据或最近从存储器中读出的数据。

•指令寄存器IR,存放当前欲执行的指令。

•程序计数器PC,存放现行指令的地址,可自加一。8.1.4指令的执行过程—取指令指令地址送入主存地址寄存器读内存,读出内容送入指令寄存器—分析指令指令操作码译码—按指令规定内容执行指令不同指令的操作步骤数,和具体操作内容差异很大—检查有无中断请求若有,则转中断处理若无,则转入下一条指令的执行过程形成下一条指令地址8.2指令周期

CPU取出并执行一条指令所需要的时间叫作指令周期。指令周期又包含:取指令、分析指令和执行指令三个阶段,其中分析指令时间很短,可以合并至取指令阶段。取指阶段执行阶段取指周期执行周期指令周期

由于各种指令所完成的操作及寻址方式不同,故各种指令的指令周期是不等长的。例如:取指周期取指周期执行周期取指周期间址周期执行周期取指周期执行周期JMPXADDXADD@XMULX指令周期指令周期指令周期指令周期

CPU在每条指令执行阶段结束前,都要发出中断查询信号,以检查是否有中断请求。若有,则进入中断周期,进行中断响应。否则,进入下一条指令周期。取指周期有间址吗?有中断吗?执行周期N间址周期Y中断周期YN8.2.1指令周期流程图

为了教学的目的,采用一个假想计算机模型,说明各CPU周期中的数据流。

1.取指令周期8.2.2指令周期数据流③

MARCUMDRPCIR存储器地址总线数据总线控制总线①

CPU④

取指令周期

①将当前指令地址送存储器地址寄存器,记作

PC→MAR;

②向主存发读命令,启动主存做读操作,记作1→R;

③将主存单元内容经数据总线读至MDR内,记作M(MAR)→MDR;

④将MDR内容送至IR内,记作

MDR→IR

⑤将IR中的指令送控制单元进行指令分析,记作IR

→CU;⑥对PC进行修正,形成下一条指令的地址,记作(PC)+1→PC

。2.间址周期(以ADD@X指令为例)③

MARCUMDR存储器地址总线数据总线控制总线②

CPU④

将指令的地址部分(形式地址)送存储器地址寄存器,记作

Ad(IR)→MAR;

②向主存发读命令,启动主存做读操作,记作

1→R;

③将主存单元内容经数据总线读至MDR内,记作M(MAR)→MDR;

④将有效地址送指令寄存器的地址码字段,记作MDR→Ad(IR)。间址周期3.执行周期(以ADD@X指令为例)MARCUMDR存储器地址总线数据总线控制总线ACCALU⑥

CPU①

①将指令地址码部分送存储器地址寄存器,记作

Ad(IR)→MAR;

②向主存发读命令,启动主存做读操作,记作

1→R;③将主存单元内容经数据总线读至MDR内,记作

M(MAR)→MDR;④给ALU发“加”命令,将AC内容和MDR内容相加,结果送AC,记作

(AC)+(MDR)→AC。4.中断周期④

MARCUMDRPC存储器地址总线数据总线控制总线CPU①

中断系统

中断周期

将堆栈指示器内容送存储器地址寄存器,记作SP→MAR;②向主存发写命令,启动主存写操作,记作1→W;

③将PC内容送至MDR内,记作PC→MDR;

④将MDR内容写入到MAR所指内存单元,记作MDR→M(MAR)。⑤将向量地址形成部件的输出送至PC,记作向量地址

→PC

⑥关中断,即将中断允许触发器清0,记作

0→EINT

。8.3指令流水

为提高处理器执行指令的效率,把一条指令的操作分成多个细小的步骤,每个步骤由专门的电路完成。例如假设一条指令要执行要经过3个阶段:取指令、译码和执行阶段,试比较采用流水和未采用流水所需的周期。一、如何提高机器速度1.提高访存速度2.提高I/O和主机之间的传送速度提高整机处理能力高速芯片CacheI/O处理机DMA多总线通道高速器件改进系统结构,开发系统的并行性中断3.提高运算器速度高速芯片改进算法取指令3执行指令3二、指令流水原理2.指令的二级流水1.指令的串行执行指令预取若取指

和执行

阶段时间上完全重叠指令周期减半速度提高1倍…取指令1执行指令1取指令2执行指令2取指令3执行指令3取指令2执行指令2取指令1执行指令13.指令的六级流水完成一条指令需6个时间单位tCOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314试比较串行和流水执行九条指令所需的时间。8.4中断系统

当前的计算机系统中,除了输入/输出外,还有很多事情都可以通过中断的方式来处理。为此CPU中设有专门的中断处理机构,即中断系统,以解决各种中断的共性问题。

中断源及其分类

把能引起中断的事件或能够发生中断请求的来源称为中断源。可分为以下几类:8.4.1中断源分类

中断源

内部中断:CPU执行程序引起的中断。

外部中断:系统中硬件引起的中断。

例如:软中断程序性事故

例如:I/O设备硬件故障8.4.2中断系统须解决的问题

1.各中断源如何向CPU提出中断请求; 2.多个中断源同时提出请求时,如何确定优先顺序; 3.CPU在什么条件、什么时候、以什么方式响应中断; 4.响应中断后,如何保护程序现场及断点; 5.如何停止现行程序,转到中断服务程序的入口处;6.中断结束后,如何恢复程序现场及原程序的执行;7.在中断处理过程中,若又出现了新的中断请求,CPU如何处理。8.4.3中断请求标记和中断判优逻辑

1.中断请求标记

在中断系统中,为每一个中断源设置一个中断请求触发器(INTR),用来记录有无中断请求。

2.中断判优逻辑

由于CUP一次只能执行一个程序,当多个中断源同时向CPU提出中断请求时,CPU必须按中断源的优先次序依次响应。中断判优逻辑可以实现优先级判别。

8.4.4中断判优逻辑

1.硬件排队

有串行排队判优逻辑和并行排队判优逻辑两种。串行排队判优逻辑略。并行排队判优逻辑如下图:111&1&1&INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4优先级高低

2.软件排队

通过程序查询实现。A有请求吗?Y转A的服务程序入口Y转B的服务程序入口B有请求吗?NY转C的服务程序入口C有请求吗?NNY转A的服务程序入口Y转B的服务程序入口8.4.5获得中断服务程序入口地址

1.硬件向量法

利用硬件产生向量地址,再由向量地址找到中断服务程序入口地址。

实现时可以采取两种办法。一种通过无条件转移命令,向量地址送入PC;另一种是在主存中留出一段区域,用以存放中断向量表,如下图。向量地址形成部件…

INTP1INTP2INTPn中断向量地址主存12H13H14H向量地址200300400中断服务程序入口地址或称中断向量…

2.软件查寻法

对应于软件排队判优法。利用跳转指令直接转移至中断服务程序入口处。

1.响应中断的条件

中断系统中设置了一个中断允许触发器(EINT),它可通过开、关中断指令来置位和复位。当EINT=1时,表示开中断,即CPU允许响应中断请求;当EINT=0时,表示关中断,即CPU不允许响应中断请求。所以,CPU响应中断请求的必要条件是:EINT=1,且有中断请求(INTRi=1)。8.4.6中断响应2.响应中断时间

中断请求是随机产生的,但CPU只有在指令执行周期末,才能响应中断源的中断请求。 通常,CPU在指令执行周期结束时刻向所有中断源发出中断查询信号,获知是否有中断请求,继而进入中断周期。3.中断隐指令

在中断周期内,CPU要自动完成:①保护程序断点②获得中断服务程序入口地址③关中断的操作,对于程序设计者来说,这些操作可以认为由一条隐含指令完成,称为中断隐指令。

为了在中断处理后,现行程序能继续执行,在进入中断服务程序执行之前,需要保护现行程序的断点和CPU内寄存器的值,称作保护现场。

中断返回之前,必须恢复寄存器的值,也是在中断服务程序内完成。

8.4.7保护现场和恢复现场8.4.8中断屏蔽技术1.多重中断的概念

例行程序A中断源请求A服务程序B中断源请求B服务程序单重中断过程示意A中断源请求B中断源请求C中断源请求例行程序A服务程序B服务程序C服务程序多重中断过程示意2.实现多重中断的条件

①开中断

在中断周期中,由隐指令自动置EINT=0,即关中断。为了在中断服务程序中能再次响应中断,必须在服务程序中开中断。

②多重中断一般嵌套规则

优先级高的中断源可以中断优先级低的中断源;

同级中断源不能中断同级中断;

优先级低的中断源不能中断优先级高的中断源。3.屏蔽技术

①屏蔽触发器和屏蔽字

在中断系统中,为每个可屏蔽中断源设置一个屏蔽触发器(MASKi,即一个标志位),当MASKi=1时,对应中断源被屏蔽,CPU不能得到此中断源的请求。②屏蔽技术可改变响应顺序

若想改变多重中断的嵌套顺序,可通过改变屏蔽码来实现。所以,多重中断的响应顺序由中断屏蔽码和判优线路一起决定的。

将所有中断源的屏蔽触发器组合在一起,便构成了一个屏蔽寄存器。

若有16个可屏蔽中断源,其优先级由高到底依次为1~16,在屏蔽寄存器依次分别占15~0位,按照一般嵌套规则,在各级中服务程序中,设置屏蔽字内容如下表。其中,CPU可认为是优先级最低的,即在例行程序中设置全“0”屏蔽字,允许任何中断源中断。优先级屏蔽字

11111111111111111

20111111111111111

3

温馨提示

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

评论

0/150

提交评论