5.5程控数字交换机软件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 5.6.4 程序调度   故障级程序由故障中断法调度执行;周期级程序由时钟中断法调度执行;基本级程序由队列法调度执行。   1. 周期级程序的调度原理  周期级程序的调度可用图5-13所示的时间表完成。   时间表由时间计数器、屏蔽表、调度表、功能程序入口地址表四部分组成。 * 图5-13 时间表的结构 *   1) 时间计数器   时间计数器的计数受时钟中断控制,两个时钟中断之间的时间间隔称做时钟周期。图5-13所示的时间表的时钟中断周期是8?ms,则时间计数器每8?ms计1次数。所计的值对应调度表的某单元,比如时间计数器记录的值为0010,则对应的调度表为第2号单元(T2)。如果调度表有12个单元,那么计数器就应该是4位二进制码,即由0开始累加到11后再回到0。由此可见,时间计数器实际上是调度表单元地址的索引,可通过计数器的值来控制执行调度表的各个单元的任务。 *   2) 调度表   调度表每一单元(T)由若干比特组成(图5-13所示的调度表为16位),每1位比特对应功能程序入口地址表中的1条程序。比特为“1”时,对应的程序执行,为“0”时不执行。图5-13所示的调度表的每一单元(T)最多可以调度的程序有16个。 *   3) 屏蔽表   屏蔽表又称有效位。其中,每1位对应1条程序,而该条程序执行的条件是:屏蔽表∧调度表?=?1。屏蔽表不受时钟中断控制,而是由CPU激活。当系统有异常情况发生需中止周期级程序调度故障级程序时,CPU将正在执行的周期级程序所对应的屏蔽位置“0”。 *   4) 功能程序入口地址表   功能程序入口地址表是存放周期级程序的地址索引。功能程序入口地址表的行数对应于调度表的位数,即以调度表位数为指针,查找功能程序入口地址表,可得到要执行程序的首地址,从而去调度执行。   时间表的控制流程如图5-14所示。 * 图5-14 时间表的控制流程图 *   【例5.3】 某时间表的调度表共12个单元,字长8位,计数器的基本周期为4?ms。问:   ① 可实现多少个程序的调度?   ② 可实现多少种调度周期,各为多少?   ③ 拨号脉冲的识别程序周期为8?ms,在此表内如何安排?   解:① 可实现8个程序的调度;   ② 可实现6种调度周期,分别为4?ms、8?ms、12?ms、16?ms、24?ms和48?ms;   ③ ?8?ms调度周期在调度表中的安排为隔一个单元设置一个1。 *   【例5.4】 设程序A、B、C的实时性要求分别为10?ms、20?ms和30?ms,求:   ① 调度表的最大执行周期;   ② 调度表的最小单元数;   ③ 画该调度表。   解:① 因调度表执行周期应短于所有任务中的最小执行间隔要求,故调度表的执行周期是10?ms(10、20、30的最大公约数)。   ② 调度表行数为1?×?2?×?3 = 6。   ③ 该调度表如图5-15所示。 * 图5-15 调度表 *   2. 基本级程序的调度原理   基本级程序的调度采用计算机原理中的队列法。队列是删除操作在一端进行,而插入操作在另一端进行的线性表。   1) 队列的结构与特点   队列的结构由一张张任务表链接而成,队列中包含以下要素。   (1) 队首指针HP(Head Pointer):用以指示队首的地址,便于调度程序取出任务,也称取出口。   (2) 任务表:主要用于存放与基本级任务有关的数据信息。   (3) 队尾指针TP(Tail Pointer):用以指示队尾的地址,便于把任务编入队列,也称编入口。 *   2) 链形队列的类型   链形队列的类型有单链结构、单循环链结构和双循环链结构。   (1) 单链结构。在单链结构中,每个任务表都包含一个后继指针。单链结构如图5-16所示。 图5-16 单链结构 * (2) 单循环链结构。单循环链结构如图5-17所示。 图5-17 单循环链结构 *   (3) 双循环链结构。双循环链结构的每个任务表中既含后继指针又含前驱指针,如图 5-18所示。 图5-18 双循环链结构 *   3) 基本级程序的典型队列结构   在控制系统中,对应每一个用户接口都有一个数据块,每个数据块又分为三个数据区:一个用来存储接口的静态数据;一个用来存储呼叫进程中的动态数据;还有一个用来存储维护管理过程的挥发性数据。一个区就相当于一个任务单元。所有数据块按线性队列排队,数据块的操作通过指针对相应的数据区进行。当进程更迭时,只需装入相应进程的数据区指针和程序指针即可,如图5-19所示。 * 图5-19 基本级程序的典型队列结构 * 图5-20 执行号码分析的基本级程序 * 图5-21 队列调度基本级(B)任务流程

文档评论(0)

zcbsj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档