处理中断的程序_第1页
处理中断的程序_第2页
处理中断的程序_第3页
处理中断的程序_第4页
处理中断的程序_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

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

文档简介

中央处理器

第6章

本章要点

中央处理器(CPU)是电子数字计算机的心脏,是由运算器和控制器组成的处理部件。本章重点论述

中央处理器的功能与组成、硬连线控制器和微程序控制器两种控制器的组成与原理,介绍中断与异常处理的作用与实现、流水线技术的基本概念。第6章—中央处理器 6.1中央处理器的功能与组成 6.2硬连线控制器 6.3微程序控制器 6.4中断与异常处理 6.5中央处理器中流水线技术的基本概念第6章中央处理器6.1中央处理器的功能与组成6.1.1中央处理器的组成

中央处理器CPU原始含义是由运算器和控制器组成的处理部件。现代CPU内集成了越来越多的功能部件:

MMU:存储管理部件

FPU:浮点处理器

Cache:高速缓冲存储器

MMX:多媒体扩展部件等但从原理上分析它的最基本部分还是运算器和控制器,其原理框图如下图:中央处理器的组成1、运算器

完成对数据的运算处理,是指令的执行部件。

主要包括5个部件:(1)算术逻辑部件ALU运算器的重要部件,用来执行各种数据运算操作,包括算术操作(加减乘除四则运算和数据格式转换)、逻辑操作(对数据进行按位的与、或、非、移位等运算);

一个组合逻辑电路,一般有二个输入端,可同时输入两个参加运算的操作数;(2)累加器AC(或ACC)

一个通用寄存器,为ALU在执行算术或逻辑操作时,提供一个工作区;

暂时存放ALU运算结果信息的寄存器;当CPU中采用多个累加器时,就变成通用寄存器组的结构,需要在指令格式中对寄存器号加以编址;

若通用寄存器R0~Rn-1共n个,则要用log2n位二进制代码;通用寄存器中任一个都可存放源操作数,也可存放结果操作数。(3)标志寄存器FR又称为程序状态字PSW或状态寄存器SR;一个由各种状态条件标志组合而成的寄存器。存放由算术操作和逻辑操作以及测试操作的结果所形成的各种条件码信息,保存中断及系统工作状态的信息。包括:进位标志(C);溢出标志(V或O)零标志(Z);负标志或符号标志(N或S)奇偶校验标志(P)等。(4)数据寄存器DR又称数据缓冲寄存器,用来存放从主存读出的一条指令或从/向主存或外设接口读/写的一个数据字。

作CPU同主存或外设接口之间信息的缓冲器,起操作速度匹配作用。(5)地址寄存器AR

用来存放CPU正要访问的主存单元或外设地地址信息,直至读/写操作完成。

2、控制器

(1)

功能:向计算机的各部件提供指令执行时(计算机运行时)所需要的控制信号。具体要实现的功能有:

从内存中取出指令,计算下一条指令的内存地址;

对指令进行译码、分析,产生相应的操作控制信号,控制指令执行的步骤和数据流动的方向,使指令按规定的执行步骤运行。

(2)

控制器的主要组成部件

程序计数器PC

存放下一条要取出的指令在主存中的地址;控制器每从主存中取出一个指令字节,PC会自动加1;

若执行转移指令时,会把转移的目标地址送程序计数器PC,以使程序计数器PC指向下一条要执行的指令地址。

有些CPU中实现PC功能的是指令指针IP。

②指令寄存器IR

从主存中取出的机器码指令,先存放在数据缓冲寄存器DR中,然后传送到指令寄存器IR中。

③指令译码器ID

机器指令由操作码字段和操作数(地址码)字段组成,其中操作码字段输出到指令译码器ID译码、分析,ID向操作控制器发出实现该指令的特定信号,由操作控制器据此产生该指令执行时所需要的各种操作控制信号。④时序产生器

产生时序信号的逻辑部件,用以标记每条指令的各个操作步骤的相对次序关系,使操作控制器在不同的操作步骤中提供不同的操作控制信号,协调CPU中各功能部件的动作。⑤操作控制器

控制器的重要组成部件;根据ID和时序产生器送来的指令信息和时序信息,产生执行该指令所需要的全部操作控制信号,以保证该指令能有序地正确地执行。控制器的基本组成框图:6.1.2中央处理器的功能

(1)指令控制:

控制程序的运行。计算机的所有工作都可归纳为程序的运行,程序是指令的有序集合,CPU必须对指令的执行进行控制,以保证指令序列的正确执行。(2)操作控制:

控制指令的操作步骤。一条指令的执行需要几个操作步骤来完成,控制器产生完成这些操作步骤所需要的操作控制信号,以控制这些操作步骤的实施。(3)

时间控制:对操作控制信号的定时。完成一条指令运行的各种操作控制信号时间上有严格的定时关系,这一定时关系是由CPU产生的,使一条指令在执行过程中受到严格的定时,以保证指令的正确执行。

(4)

数据处理:对数据进行算术运算和逻辑运算。(5)中断处理和异常处理:中断处理指CPU具有处理外部设备等中断源的服务请求的能力。异常处理指CPU具有处理指令执行过程产生非正常情况(如运算溢出)的能力。6.1.3控制器的硬件实现方式

控制器的主要功能是向计算机各部件提供指令运行时所需的操作控制信号,控制指令执行的步骤和数据流动的方向,使指令按规定的执行步骤运行。

1、控制信号的作用

指令执行流程如图:指令的执行过程说明:(1)一条指令的执行过程分为若干个不同的操作步骤;

(2)在数据的传送和运算过程中,必须要有相应的操作控制信号作用于相应的部件;(3)一组操作控制信号的作用必须严格按照一定的时序关系;2、控制器的硬件实现方式操作控制器生成操作信号有不同的方法,主要有:

(1)硬连线逻辑方式,用一个硬件时序电路产生时间控制信号,采用组合逻辑电路实现各种控制功能,采用这种方式的控制器称硬接线控制器或组合逻辑型控制器。

(2)微程序方式用一个ROM作为控制信号产生的载体,ROM中存储着一系列的微程序,组成微程序的微指令代码产生相应的操作控制信号,采用这种方式的控制器称微程序控制器或存储逻辑型控制器。

随着大规模集成电路的发展及应用,将上述两种方式结合,又出现“阵列逻辑方式”的控制器或称为组合逻辑和存储逻辑型结合型控制器。6.2.1硬连线控制器的结构6.2硬连线控制器

CPU在完成一条机器指令的执行过程中要依次完成一系列微操作;微操作由控制器要发出相应的一系列的微操作命令(操作控制命令)完成的;操作控制命令必须是按序产生的,具有定时的特点;硬连线控制器的结构框图如下图所示。

(1)指令寄存器IR

将其中存放的指令操作码送指令译码器译码;

(2)指令译码器ID

对指令寄存器IR送入的指令操作码进行译码产生指令信号INS1~INSn

(设指令操作码为i位,则n=2i)(3)时钟源CLK

由石英振荡器组成产生机器主频,送节拍脉冲发生器。

(4)节拍脉冲发生器

又称环形脉冲发生器,接收来自时钟源CLK的时钟信号,循环产生一组节拍信号序列T1,T2,…

Tm。节拍脉冲宽度等于时钟源CLK的周期(TCLK)即时钟周期。

节拍脉冲T的重复周期即机器周期,机器周期可以是定长也可以是不定长的。如定长机器周期包括4个节拍如图所示。

一个指令周期包括若干个机器周期。

机器周期、节拍、时钟周期组成了多级时序系统。(5)控制信号编码逻辑

由编码器电路构成的操作信号发生器,接收来自指令译码器、状态寄存器和条件码等输入,根据节拍脉冲发生器的定时信号和操作信号生成定时的操作控制信号C1~Cx。

操作控制信号的一般逻辑表达式为:

C=T1·(INS1+INS2+…+INSn)+T2·(INS1+INS2+…+INSn)

+…+Tm·(INS1+INS2+…+INSn)

C为在执行某一指令时控制器最终对各部件的输出的操作控制信号;

T1,T2,…Tm为节拍脉冲电路给出的定时信号,表示控制信号出现的时间特征;

INS1,INS2,…,INSn为指令译码器输出信号,6.2.2硬连线控制器的设计步骤

(1)指令操作码的设计,确定指令是固定长指令还是可变长指令;(2)确定机器周期、主频和节拍脉冲,确定机器周期是固定长还是可变长;(3)按指令功能,确定每条指令所需的机器周期数,以及在每个机器周期中所完成的微操作,列出微操作命令的操作时间表,即画出流程图、控制时序图。

以单总线结构CPU的4条指令:ADDR3,R2,R1、LOADR1,mem、STORER1,mem、BRoffs为例。

根据指令操作表,列出微操作时间表。

微操作时间表√√√√√√√√√√√√√√√√√√

(4)列出每一个微操作命令的初始逻辑表达式,并经化简整理写出微操作命令的最简逻辑表达式。

如根据以上指令操作表和微操作时间表,可写出19个控制信号的逻辑表达式:

PCout=T1+BR·T3

PC+1=T1

PCin=BR·T3

MARin

=T1+STORE·T3+LOAD·T3

MDRin=STORE·T4

MDRout=T2+LOAD·T4

Read=T1+LOAD·T3

Write=STORE·T4

IRin

=T2

IRout

=LOAD·T3+STORE·T3+BR·T4

R1in=LOAD·T4

R1out

=ADD·T3+STORE·T4

R2out

=ADD·T4

⒁R3in=ADD·T5

⒂Yin=ADD·T3+BR·T3

Add=ADD·T4+BR·T4

Zin=ADD·T4+BR·T4

Zout=ADD·T4+BR·T5

END=(LOAD+STORE)·T4+(ADD+BR)·T5

上述控制信号在4条指令的对应机器周期的有关T节拍中起作用。举例说明:

取指令周期是所有指令公有的周期,共有4个微操作:

PC→MAR

需要

PCout

、MARin

PC+1

需要

PC+1

read

需要

Read

MDR→IR

需要MDRout

IRin

前三个微操作在T1节拍进行;

后一个微操作在T2节拍进行;

在控制信号表达式①②④⑦中有T1项,表示在T1状态任何指令都必需有该控制信号。同样在控制信号表达式⑥⑨中有T2项,表示在T2状态任何指令都必需有该控制信号。

PC+1=T1表示任何指令在T1状态必需有PC+1信号;

MARin=T1+STORET3+LOADT3

表示控制信号MARin出现在任何指令的T1状态,STORE和LOAD指令的T3状态;

END=(LOAD+STORE)·T4+(ADD+BR)·T5END控制信号用来终止当前的时钟序列,进入下一条指令的循环周期。用于可变长机器周期数的情况。

(5)画出对应每个微操作命令的逻辑电路图。如以上的19个操作控制信号的逻辑表达式都可画出相应的逻辑电路图。

IRout

=LOAD·T3+STORE·T3+BR·T4

的逻辑电路图为:6.3微程序控制器6.3.1微程序控制器概述

1.微程序控制的基本思路

硬连线逻辑的控制器的逻辑电路较复杂。设计复杂,调试、修改和增删机器指令十分困难。

M.V.Wilkes提出采用存储程序来形成微操作命令序列的微程序控制设想。微程序控制的基本思想是:

完成一条机器指令操作控制信号

操作控制信号

┊操作控制信号微指令110100000微指令n00010010微程序存入ROM

微指令中某位为1表示该控制信号有效,为0表示该控制信号无效。

微指令:一条机器指令所需要的操作控制信号以一个个控制字的形式存放在控制存储器中,每一个控制字称为一条微指令,一条微指令对应一个或几个操作控制信号(微操作命令)。

微程序:一条机器指令所需要的操作控制信号就由若干条微指令组成的序列来实现,对应于一条机器指令的微指令序列称为微程序。

控制存储器:存放一个机器的全部机器指令所对应的微程序的专用存储器。一般采用ROM

实现。

微操作:执行部件接受微指令后所进行的操作。

机器运行时,依次从控制存储器读取所要运行指令的微程序中的一条条微指令,从而产生各种操作控制信号以实现该机器指令的功能。

2.微指令格式

当执行一条指令时,由机器指令的操作码以及CPU系统状态条件码构成了机器指令对应一段微程序的微指令地址,控制器按此微指令地址,从控制存储器ROM中读取相应的微指令,产生控制信号去控制系统的操作。

微指令的基本格式如图:操作控制字段顺序控制字段

操作控制字段(操作控制码):

为一次微操作所需要的全部操作控制信号的编码;

顺序控制字段:决定产生下一条微指令的地址。

该字段可由2部分组成:

BAF(转移地址字段):在发生转移时,用来发生转移时指定下一条微指令的地址;

BCF(转移控制字段):用于微程序中需要转移时,表示条件转移的转移条件;6.3.2微程序控制器的基本结构

一个微程序控制器的基本组成有5个部件,如下图

所示。

1、控制存储器

◆控制器核心部件

◆用来存放实现全部机器指令的全部微程序;

◆执行机器指令时,微程序控制器不断地依次从控制存储器中读取对应微程序的微指令,用微指令代码中的控制信号去控制处理器的各个部件。

◆由ROM组成,将微程序写入ROM称为微程序的固化。

◆控制存储器的容量;控制存储器的字长;2、微地址寄存器μAR

用来存放将要访问的下一条微指令的微地址;微地址是指微指令在控制存储器中的存储位置;只有知道微地址,才能从控制存储器中取出相关微指令。

3、微地址形成部件

是一个译码器,根据指令寄存器IR中的操作码(OP)产生实现该机器指令的微程序的入口地址。

4、顺序控制逻辑

控制微指令序列,亦即控制形成下一条微指令(后续微指令)的地址。在执行机器指令过程中,微指令地址形成有三种情况:

①外界在电源加电后(机器开始运行时),直接向μAR输入取指周期微程序的入口地址,μAR+1→μAR(在顺序执行时);

②由机器指令操作码OP经微地址形成部件产生的对应于该机器指令的微程序的入口地址送微地址寄存器;

③由上一条微指令中的下址字段给出,即μIR中的BAF(还需顾及BCF);

顺序控制逻辑能通过测试微程序执行中的状态标志信息,修改微地址寄存器中的内容。

5、微指令寄存器μIR

用来存放从控制存储器中读出的一条微指令信息。微指令包含产生操作控制信号的控制码字段,以及指出下条微指令的地址字段(包括BAF——地址信息和BCF——条件信息)。6.3.3微程序设计技术

微程序的执行过程的关键是:一是如何由微指令的操作控制字段形成微操作命令;二是如何形成下一条微指令的地址(微地址);

1.微指令的编码方式

微指令的编码方式:指如何对微指令的控制字段进行编码,以形成控制信号。

相容性微操作:在同时或同一节拍内可以并行执行的微操作;

相斥性微操作:不能同时或不能在同一个节拍内并行执行的微操作;

相容性和相容性由数据通路间的结构决定的。如在单总线结构的

CPU中,控制各部件向总线输出的操作控制信号是互斥的;内存操作中的Read控制信号和Write控制信号是互斥的;ALU功能控制信号也是互斥的。

微指令的编码设计中应考虑到操作控制信号的相斥性的问题。

微指令的编码方法有三种:

(1)直接表示法(直接控制法)

◆微指令操作控制码字段中,每一位代表一个微命令,表示一个操作控制信号,“1”表示该控制信号有效;“0”表示该控制信号无效。

◆格式如图所示:

◆直接表示法含义清楚、简单直观,其输出可直接用于控制;

◆由于CPU工作时需要的操作控制信号很多,导至微指令的操作控制码字段长达数百位,需要CM有很大的容量;大多数微指令中,只有很少的操作控制信号是同时有效的,因此微代码的编码效率极低。

(2)编码表示法

■又称“字段编码法”。将微指令中的操作控制码分为若干字段,将一组互斥的微命令分在一个字段中,需要并行发出的微命令可以分在不同的字段中。■格式如图所示:例如采用4位二进制代码,译码后可表示16种不同的互斥状态,15个状态对应于15个互斥微命令的操作控制信号,一个状态表示不发微命令。

例如有3个需并行发出的微命令,微指令的操作控制码可分为三段,分别用三个译码器产生三个可并行发出的操作控制信号。

■采用分段编码可缩短微指令的长度,减少CM所需存储的代码数量;■编码的指令代码需要经过译码器后才能得到操作控制信号,会增加控制信号的延迟,影响CPU的工作速度。

(3)混合表示法

●直接表示法与编码表示法结合使用,采用部分直接表示和部分编码表示的方法。将一些要求速度高的或者一些相容的控制信号采用直接表示法,其它相斥信号采用编码表示法。●混合表示法格式如图:

(1)计数器方法:

又称增量方式,采用微程序计数器μPC加1来产生下一条指令的微地址。微程序的各条微指令按执行顺序按排在CM中,当顺序方式执行微程序时,后继微地址由现行微地址加上一个增量(μPC加1)而得。

◎微程序计数器μPC在下述情况下不进行加1操作:①微程序结束时,μPC复位到起始微地址,由起始微地址生成电路产生,或包含在微指令中;②当一条新的机器指令装入指令寄存器IR,该机器指令的操作码生成的执行阶段的起始微地址装入μPC中;

2、微地址的形成方法

有3种方法:

③遇到转移微指令且满足转移条件时,转移微指令的顺序控制字段产生的转移目标微地址装入μPC;在微指令中可以增加一个标志位,以区分转移微指令和控制微指令。

◎计数器方式的顺序控制字段较短,微地址生成机构较简单,实现方法较直观。但执行速度慢,转移微指令的执行需要占用时间。

◎采用计数器方式的微程序控制器的结构如图:

(2)断定方式

★下一条微指令的微地址包含在当前微指令的代码中。

★微指令的格式如下:

下址字段用来指定下一条微指令的微地址。为解决根据条件进行转移,引入两个地址字段:下址1和下址2

根据状态条件选择其中一个下址作为下一条微指令的微地址。

★提高了微程序的执行速度,不需要采用μPC,灵活性好,缺点是增加了微指令代码的长度。★断定方式的微程序控制器的结构如图:(3)结合方式增量方式和断定方式结合而成的一种方式,其结构如图所示。

结合方式的微控制器中,顺序执行微指令时,为增量方式,微程序计数器μPC的计数值作为下址;条件转移微指令时,为断定方式,微指令中转移控制字段BCF确定转移的条件,转移地址字段BAF送入μPC,指定转移时下一条微指令的微地址。

3、微指令格式分类有两种类型:(1)水平型微指令

指一次能定义并执行多个并行操作控制信号的微指令,是一种速度最快的微指令格式。前面所介绍的直接表示法、编码表示法和混合表示法三种编码方式的微指令都属于水平型微指令。

指采用类似机器指令结构的微指令,一条垂直型微指令中只有1~2个微操作命令,控制1~2种微操作,这种微指令不强调并行控制功能。垂直型微指令设置有微操作码字段,由微操作码规定微指令的功能。一种16位的垂直型微指令的结构如下:(2)垂直型微指令

传送型微指令格式:②运算控制型微指令格式:

③水平型微指令与垂直型微指令的比较

水平型微指令的并行操作能力强、效率高、灵活性强,微指令较长,一条机器指令的微程序较短,因此执行一条机器指令的速度较快,但微指令的结构同机器指令结构差别较大;

垂直型微指令以其较长的微程序结构换取较短的微指令结构,但微指令的结构同机器指令结构相似。设4条机器指令的操作码分别为

00

、01

、10

、和11。(1)根据硬接线控制器设计一节可知,4条指令的执行共需18个控制信号,构成18位的控制字,格式如图6-13所示。4、微指令格式设计举例

以单总线结构CPU的4条指令:ADDR3,R2,R1、

LOADR1,mem

、STORER1,mem

、BRoffs为例设计微程序控制器。

(2)微指令设计

取指令周期由2条微指令完成,分别表示为T1,T2,这是4条机器指令所共有的;

ADD指令的执行周期有3条微指令,表示为ADDT3、ADDT4、ADDT5;

LOAD指令的执行周期有2条微指令,表示为LOADT3和LOADT4;

STORE指令的执行周期有2条微指令,表示为STORET3和STORET4;

BR指令的执行周期有3条微指令,表示为BRT3、BRT4、BRT5。共12条微指令

(3)

微指令的控制码字段根据表5-12中各节拍内的操作和控制信号,控制字设计如下:(4)列出微程序流程,安排微地址

12条微指令组成5个微程序的流程图

4条机器指令的微程序分支中第一条微指令的微地址由机器指令操作码

00、01、10、11和10代码拼接而成0010、0110、1010、1110。(5)微指令设计

微指令设计为23位,其中操作控制码字段18位,顺序控制字段5位,包括BCF1位和BAF4位。

12条微指令设计为:

用1位BCF字段控制分支地址的形成,当BCF=1时,指令操作码生成下址的高2位,低2位由BAF低2位确定,固定为10,形成4组微指令首地址;当BCF=0时,顺序执行微指令,下址由BAF4位确定。微地址形成原理如图所示。

(6)多分支地址形成电路6.4中断与异常处理

6.4.1中断与异常的定义

1、中断与异常的定义

异常:指CPU在运行程序时,由于某一事件的出现,要求CPU暂时中止(挂起)正在运行的程序,转而调用一个引起CPU暂时中止运行的内、外部事件的服务程序(处理程序),待该服务程序处理完毕后又返回到被中止的程序的过程。外部中断:外部事件引起的异常,又称为“外部异常”或“硬件中断”;

中断源:能够向CPU发出中断请求的中断来源。

常见的内部异常事件常见的中断源一般的输入/输出设备,如CRT终端、行式打印机等;数据通道,如磁带、磁盘等;实时时钟,如定时器的定时输出作为定时中断请求信号;故障信号,如电源掉电等。系统调用;陷阱指令、特权指令和程序调试指令;程序运行出错;捏序运行中遇到异常操作——非正常操作指令中断内部中断内部异常是与CPU时钟同步的。有的发生在程序中相关指令处,有的发生在程序执行过程中的异常操作时,

中断处理机构:用来处理异常与中断的硬件;

异常处理程序:在嵌入式操作系统中用来处理异常与中断的软件;2、可屏蔽中断与不可屏蔽中断

按CPU内部受理中断请求划分:中断可屏蔽中断不可屏蔽中断指CPU能拒绝响应的中断请求信号,不允许打断处理器所执行的主程序。由CPU内部的中断触发器实现处理器内部不能“屏蔽”的中断6.4.2中断处理过程中断处理过程的流程图

(1)设置中断请求触发器

原因中断请求信号是随机的;大多数CPU都是在现行指令周期结束时检测有无中断请求信号;

必须锁存随机输入的中断请求信号并保持到CPU响应这个中断请求后;

◆硬件电路一个中断源配置一个中断请求触发器,硬件电路如中断屏蔽接口电路图中部件A所示。1、CPU响应中断的条件中断屏蔽接口电路图

(2)设置中断屏蔽触发器

原因

多个中断源的情况下,控制外设的中断请求信号能否被送到CPU,增加控制的灵活性;

◆硬件电路

每一个中断源的接口电路中,设置一个中断屏蔽触发器,用中断屏蔽触发器的输出信号通过逻辑门电路控制该中断源的中断请求信号是否发出;

中断屏蔽触发器如中断屏蔽接口电路图中部件B所示,通过与门控制中断请求信的输出;

把8个外设的中断屏蔽触发器组成一个中断屏蔽寄存器端口,用输出指令来控制它们的状态。

(3)设置中断允许触发器的状态

针对可屏蔽中断而言。

CPU内部设有一个中断允许触发器,当其状态为“1”时,中断开放,CPU才能响应中断;若其状态为“0”时,中断关闭,禁止CPU响应中断;

采用允许中断和禁止中断指令来设置中断允许触发器的状态;中断响应后,CPU就自动关闭中断,在中断服务程序结束时,必须执行允许中断指令和中断返回指令。

(4)CPU在现行指令结束后响应中断

满足上述3个条件的情况下,CPU在执行现行指令的最后一个机器周期(总线周期)的最后一个时钟周期(T状态)时,采样中断输入线INT,若发现中断请求有效,则把内部的中断锁存器置“1”,下一总线周期进入中断周期。

2、CPU的中断响应过程

(1)关中断

CPU在响应中断后,发出中断响应信号,同时内部自动地关中断即设置中断允许触发器的状态为0;

(2)保护断点把断点处的IP(指令指针)值和CS值(段基值)压入堆栈保留;

(3)识别中断源

CPU必须要找到相应的中断服务程序(处理中断的程序)的入口地址,对中断请求进行处理,

识别中断源采用两种方法:

①查询中断

软件查询方法。CPU在接收到外设的中断请求后,执行中断源查询程序,读出接在中断线上的每一个外设的中断状态位,通过测试该状态位来判断对应的外设是否发出过中断请求,若是,则转到该外设的相应的中断服务程序。一个管理4个外设的查询测试程序的流程图及硬件示意图见下图。外设的中断状态位为“1”表示有中断请求②向量中断

又称矢量中断,硬件实现的方法;在具有向量中断的计算机系统实现;每个外设都预先指定一个中断识别码,当CPU识别出某个外设中断请求并予以响应时,硬件控制逻辑电路就将该外设的中断识别码送入CPU,以自动地提供相应的中断服务程序的入口地址,转入中断服务。(4)保护现场

为了不使中断服务程序的运行影响主程序的状态,必须把断点处有关寄存器(指在中断服务程序中要使用的寄存器)内容以及标志寄存器的状态,压入堆栈保护。(5)执行中断服务程序(6)恢复现场

把中断服务程序执行前压入堆栈的现场信息弹回原寄存器及标志。(7)开中断与返回开中断放在返回之前,目的是返回主程序后能继续响应新的中断请求6.4.3中断优先级

中断优先级:又称优先权,根据中断源的性质和要求处理的轻重缓急,给全部中断源安排德中断处理的优先次序。多个中断源同时请求中断时,CPU确定首先为哪一个中断源服务,以及服务的次序的依据。

凡是计算机系统中的中断源数目多于CPU的中断请求线时,就需要采取适当的方法来解决中断优先级的问题。解决中断的优先级的方法有以下几种:

1、软件查询确定中断优先级

采用该方法的硬件接口电路如图。

当CPU响应中断后,把中断寄存器的状态作为一个外设信息读入CPU,按优先级的次序,逐位检测其状态,若检测出某位有中断请求,即转入相应的中断服务程序入口。2、硬件查询确定优先级

硬件查询的优先级中断链电路(链式优先级排队电路)如图:

来自CPU“中断响应”信号(低电平)从A设备开始串行地往下传送,当A设备有“中断请求”时(中断触发器输出高电平信号),则“中断响应”信号在门A2处被封锁,不再下传,使后级设备得不到CPU的“中断响应”信号。同时A设备的“数据允许”线EN变为有效(高电平),从而允许A设备使用数据总线,将其中断类型放上数据总线进入CPU。当A设备无“中断请求”时,“中断响应”信号可以通过A2门传给下一设备B。klmk+1l+1m+1第一次中断第二次中断第三次中断程序断点k+1,l+1,m+18.41、多重中断的概念

当CPU执行优先级较低的中断服务程序时,允许响应比它优先级高的中断源请求中断,而挂起正在处理的中断,待优先级高的中断服务结束后,再返回到刚才被中断的较低优先的那一级,这称为多重中断又称中断嵌套。6.4.4中断的嵌套2、多重中断的流程

(1)屏蔽本级和较低级中断请求,允许优先级比它高的中断源进行中断,防止在进行中断处理时不受到来自本级和较低级中断的干扰;(2)在执行中断服务之前,要开放中断,以便允许进行中断嵌套;(3)中断服务程序结束之后,必须先执行关中断指令,将中断关闭后,才能恢复现场。(4)恢复现场后,应该执行开中断指令,重新开放中断,以便允许其他等待着的中断请求有可能被CPU响应。应当指出只有在执行了紧跟在开中断指令后面的一条指令以后,CPU才重新开放中断。一般紧跟在开中断指令后的是返回指令RET,返回被中断的服务程序的断点地址,然后CPU才能开放中断,响应新的中断请求。多个中断源、单一中断请求线的中断处理过程的流程如下:

3、中断屏蔽技术

(1)中断屏蔽和屏蔽字

中断屏蔽:指中断源发出的中断请求信号并不一定能真正送到CPU去,在有些情况下,通过程序方式有选择地封锁部分中断源的中断请求;

中断屏蔽触发器:每个中断源都相应地配备的一个触发器电路,触发器状态为“1”,则对应的中断请求被封锁,无法去参加排队判优;若触发器状态为“0”,对应的中断请求送往CPU。

中断屏蔽寄存器:多个中断源的中断屏蔽触发器组合的一个寄存器。

屏蔽字:指中断屏蔽寄存器的内容,用程序方法设置屏蔽寄存器中的屏蔽字,屏蔽字与中断源的优先级一一对应。

16个中断源的中断优先级和屏蔽字的关系如下表:

优先级屏蔽字

111111111111111101111111111111110011111111111111000111111111111100001111111111110000011111111111…000000000000001100000000000000011234561516…(1)中断优先级的改变

采用中断屏蔽字可以改变CPU处理各中断源的优先级,将原级别较低的中断源变成较高的处理级别,从而改变CPU执行程序的轨迹,这是一种动态改变优先级的方法。例:某计算机的中断系统有4个中断源,每个中断源对应一个屏蔽字。中断响应的优先次序为L1→L2→L3→L4,中断的处理次序和中断的响应次序是一致的。

中断屏蔽字设置为:中断源

蔽字L1L2L3L4L1

L2L3L41000110011101111各个中断源在不同时刻提出请求如图中所示,则CPU执行程序的轨迹为:中断源

蔽字L1L2L3L4L1

L2L3L41000111110111001

要使中断处理次序改为L1→L4→L3→L2,则只需使中断屏蔽字改为:

各个中断源提出请求和上例不变,则CPU执行程序的轨迹为:

1、冯·诺依曼型计算机结构

1946年,冯·诺依曼提出存储程序的概念和一个完整的现代计算机的雏型,该结构以运算器为中心,由运算器、控制器、存储器、输入设备和输出设备组成,指令与数据存放在存储器中,所有的输入/输出活动都必需经过运算器,如图所示。6.5中央处理器中流水线技术的基本概念6.5.1并行性的概念

◆改进型冯·诺依曼型计算机结构

以存储器为中心

增加了浮点数、字符串和BCD码的表示;

采用虚拟存储器,便于高级语言编程;

引入堆栈;

采用变址寄存器并增加间接寻址方式;

增加了CPU内通用寄存器的数量,增设Cache;

⑥采用存储器交叉访问技术及无冲突并行存储器;

采用流水线技术;

采用了多功能部件实现并发操作;⑨采用支持处理机,如协处理器和输入/输出处理器;

采用自定义的数据表示;

使程序和数据空间分开,以增加存储带宽改进型冯·诺依曼型计算机结构的特点:非冯·诺依曼型结构

◆冯·诺依曼型计算机的主要特点

计算机执行程序是按指令顺序进行的,即指令采用串行执行,由

控制器集中控制。

在一个CPU的计算机系统中,系统的速度主要由CPU的速度决定,而CPU的速度就取决于单一指令的执行速度。◆

提高系统的速度的三种途径

(1)提髙CPU的速度,但CPU的速度提髙有一定极限值;是芯片设计者的任务。

(2)增加CPU个数,多个CPU并行执行多条指令;(3)单CPU系统中将指令执行过程分为n个子过程,分别由CPU中n个各自独立的子部件来处理。对整个CPU而言,在满足一定条件下,在某一时刻,CPU并行执行n条指令。

并行性是指在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。在时间上相互重叠,均存在并行性。

n位串行进位的并行加法器存在“并发性”;读写由8片存储芯片(如2164)组成8位存储器,存在“同时性”;2、并行性定义并行性同时性两个或多个事件在同一时刻发生并发性两个或多个事件在同一时间间隔内发生3、并行性的等级

从程序执行的角度可划分为4个级别:指令内部级

指令内部微操作之间的并行指令级并行执行两条或多条指令

任务级或过程级并行执行多个过程或任务(程序段)作业级或程序级在多个作业或程序间的并行单机系统软件实现硬件实现

从数据处理的角度可分为4个级别:字串位串

同时只对一个字的一位进行逐位处理,最基本的串行处理字串位并

同时对一个字的所有位进行处理,但字与字之间串行处理字并位串

同时对多个字的同一位进行处理字并位并

同时对多个字的所有位或部分位进行处理

(1)时间重叠

●时间重叠:指多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部件,以加快部件的周转而提高速度,提高多个处理过程的并发性。

●指令流水线

一条指令的执行过程的三个步骤:取指、译码分析、执行;

4、提高并行性的技术途径

提高并行性的技术途径有三种:

设每个操作步骤完成的时间为△t

若采用串行执行方式,3条指令共需要时间为9△t;

若各3个步骤由3个相应的硬件部件来完成,即以流水线方式解释执行指令,则第K条指令、第K+1条指令和第K+2条指令的操作在时间上产生重叠,三条指令彼此在时间上错开△t,执行过程如图所示,3条指令共需要时间为5△t;指令的执行速度不变,时间重叠能加快程序的执行速度。采用时间重叠技术,在不需要增加过多硬件设备的前提下,提高了系统的并行性,提高了系统的性能价格比。这一技术在标量流水线处理机、超流水线处理机和向量流水线处理机中得到广泛应用。(2)资源重复通过重复设置资源,特别是硬件资源,分别同时用于多个处理过程,实现多个处理过程的同时性.多处理器系统是典型的资源重复,系统中n个完全相同的处理器PE0~PEn-1受一个控制器CU控制,控制器每执行一条指令就可以同时让各个处理器对各自分配到的数据完成同一运算。系统如图。资源重复资源重复技术在超标

温馨提示

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

评论

0/150

提交评论