计组复习(八)

对应唐书第八章——CPU的结构与功能。

目录

一、CPU的结构

二、指令周期

 三、流水

1.  影响流水性能的因素

1.1 结构相关

1.2 数据相关

 1.3 控制相关

 2. 流水线性能

3. 流水线中的多发技术

4. 流水线结构

四、中断系统

1. 概述

2. 中断请求标记和判优逻辑

3. 中断服务程序入口地址 

4. 中断响应

5. 保护现场和恢复现场

6. 中断屏蔽技术


一、CPU的结构

        CPU包括控制器和运算器两部分。,其功能也主要体现在这两方面

         CPU中寄存器可分为两类,一类属于用户可见寄存器,用户能对其编程;另一类属于控制和状态寄存器,不可编程。

二、指令周期

        CPU取出并执行一条指令的全部时间成为指令周期,各种指令的指令周期是不同的。

         在取值、间址、执行、中断周期都会有CPU访存操作,但目的不同。

        另外,要求掌握指令周期的数据流(P334)。

 三、流水

         前面已经介绍了提高访存速度、I/O交换速度、运算速度的方法。

        为了进一步提高速度,需要提高器件的性能,并提高系统的并行性。粗粒度的并行如进程间的并行,由软件实现;细粒度的并行如指令之间,由硬件实现。

1.  影响流水性能的因素

1.1 结构相关

        指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突。

        解决办法:指令暂停一个阶段;数据存储器和指令存储器分开;指令预取技术(基于访存周期很短的情况)。

1.2 数据相关

        重叠操作导致对操作数的读写顺序改变,主要是写操作造成的。其中读后写相关、写后写相关可能会在乱序的情况下出现。

        解决方法有后推法(暂停)和旁路技术(不必等待数据送回寄存器,直接送到需要的地方)

 1.3 控制相关

        主要由转移指令引起,无法提前判断是顺序还是跳转,书上简单预测为顺序,会带来很多的浪费。这方面有很多的机制,不过考试不涉及。

 2. 流水线性能

         吞吐率为单位时间内流水线完成指令的数量,分为实际吞吐率(含启动)与最大吞吐率。

         加速比为流水与非流水的速度之比。 

        效率为流水线中各功能段的利用率,直观来说,就是指令占的面积与大矩形的面积之比。

3. 流水线中的多发技术

        超标量技术:每个周期多条独立指令。不能调整指令执行顺序,但可编译优化。

        超流水线:流水再分段。不能调整指令执行顺序,但可编译优化。

        超长指令字:合并多条可并行的指令。

4. 流水线结构

        并不是流水就一定好,是否采用流水、在哪部分采用流水都要根据具体情况而定。

四、中断系统

1. 概述

        引起中断的因素很多,大概这几类:

        ①人为设置

        ②程序性事故:如溢出、除零、操作码不能识别。

        ③硬件故障:接触不良、电源掉电等。

        ④I/O设备

        ⑤外部事件:如键盘输入。

        通常将引起中断的因素称为中断源,分为可屏蔽和不可屏蔽(如电源掉电)。

2. 中断请求标记和判优逻辑

         中断判优可用硬件和软件实现,硬件排队又分为链式排队器和CPU中的排队器,软件排队主要是编写查询程序。

3. 中断服务程序入口地址 

        不同中断源对应不同的中断服务程序,可通过硬件向量法和软件查询法寻找入口地址。

        硬件向量法通过中断向量形成部件形成向量地址,对应单元内存放入口地址(向量地址表)或跳转指令。速度快,被普遍采用。

        软件查询通过跳转指令确定入口地址(程序员或系统事先指定),不涉及硬件,但慢。

4. 中断响应

        响应中断的条件——允许中断触发器EINT置1,且有中断请求。

        响应中断的时间——执行周期结束后。统一向所有中断源发中断查询请求。

        在中断周期,CPU会自动完成一系列操作:保护程序断点(PC存入堆栈或特定单元),寻找中断服务程序入口地址关中断(EINT=0)。这些操作都是由一条中断隐指令完成的,机器指令系统中没有,由硬件自动完成。

5. 保护现场和恢复现场

        保护现场包括保护程序断点以及CPU内部各寄存器。其中,程序断点保护可由中断隐指令完成,寄存器保护可在中断服务程序中由用户或系统用机器指令实现。

        恢复现场指中断返回前,回复寄存器值,同样由中断服务程序实现。

6. 中断屏蔽技术

        中断屏蔽技术用于多重中断。

        实现多重中断的条件:提前设置“开中断”,高优先级中断源有权中断低优先级。

        单重中断与多重中断的区别在于开中断的时机。单重中断在中断返回前开中断,而多重中断在保护现场之后就开中断。

        每个中断请求触发器都有一个屏蔽触发器,屏蔽触发器置1时对应EINT只能置0。所有屏蔽触发器构成屏蔽寄存器,其内容称为屏蔽字。

        置屏蔽字的时机是在保护现场之后、开中断之前。恢复屏蔽字的时机是在恢复现场之后,开中断之前。注意这里新增了一个关中断、开中断的过程。

        如下图,响应优先级为ABCD,处理优先级为ADCB。由于响应优先级无法改变,在A中断结束后,依次进入BC的中断服务程序,保护现场,并设置屏蔽字,设置完之后被更高级别的中断打断。

        严格来说,优先级分为响应优先级和处理优先级。其中响应优先级是硬件线路设计好的,如不采用屏蔽技术,则响应优先级就是处理优先级。屏蔽技术只能改变处理优先级。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值