《计算机控制技术7-4》由会员分享,可在线阅读,更多相关《计算机控制技术7-4(32页珍藏版)》请在金锄头文库上搜索。
1、第四节 多微机控制系统的软件和控制 多微处理机控制系统的硬件、软件和用户之间的关系第四节 多微机控制系统的软件和控制 应用程序:在操作系统支持下由用户编写,并在操作系统 管理下执行。 微机操作系统:可实现人机联系、任务调度和资源管理 等功能,是系统的核心。第四节 多微机控制系统的软件和控制一、多微处理机控制系统操作系统一、多微处理机控制系统操作系统控制和管理硬件与软件资源以及方便用户的程序的集合 与单机操作系统相比:与单机操作系统相比: 单机操作系统 封闭性,仅采用集中式管理 多微处理机系统的操作系统 管理局部的资源(微处理器、存储器、IO,设备) 必须管理其他互连的微处理机,实现机间通信、同
2、步等功 能,解决各微处理机共享资源的竞争和引起的死锁问题。第四节 多微机控制系统的软件和控制一、多微处理机控制系统操作系统与行处理机系统相比:与行处理机系统相比: 并行处理机系统 对同一指令的并行操作,受同一个控制器控制,系统的工 作是同步的 多微处理机系统 管理局部的资源(微处理器、存储器、IO,设备) 具备并行进程的派生、进程同步、资源分解、进程调度等 功能第四节 多微机控制系统的软件和控制一、多微处理机控制系统操作系统 多微处理机操作系统应具备的性能:多微处理机操作系统应具备的性能: 1) 结构的灵活性 采用模块化结构,随承担负荷的增加、算法的改变或控制 要求的改变,可方便地改变结构。
3、2) 并行任务派生 多微处理机系统属于多指令流操作方式,一个程序当中就 存在多个并发的程序段,需要专门的指令来表示它们的并 发关系以及控制它们的并发执行,以便一个任务开始被执 行时就能派生出可与它并行执行的另一些任务。第四节 多微机控制系统的软件和控制一、多微处理机控制系统操作系统 多微处理机操作系统应具备的性能:多微处理机操作系统应具备的性能: 3) 进程同步 多微处理机系统所实现的是指令、任务、程序级的并行 多微机操作系统能具有区分进程之间的数据相关和控制依 赖关系的能力。对于具有依赖关系的进程,要保持程序所 要求的正确顺序。如果某一进程不满足执行条件,就要中 途停下来进入等待状态,直到它
4、所依赖的执行条件满足为 止。 4) 资源分配 能够有效地解决共享资源的竞争,合理地进行资源的分 配,提高系统的效率第四节 多微机控制系统的软件和控制一、多微处理机控制系统操作系统 多微处理机操作系统应具备的性能:多微处理机操作系统应具备的性能: 5) 通信和进程调度 多微机系统中,有机间通信,进程间通信 并行进程的调度、同步及资源分配等都离不开通信。 进程调度进程调度即进程状态的交通控制第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度 并行任务的派生和汇合 派生派生 在一个任务执行的同时派生出可与它并行执行的一个或 多个任务,分配给不同的处理机完成 汇合汇合 各微处理机分别完成了分
5、配的任务之后再汇合起来,进 入后继的任务并行任务的派生和汇合通常用软件来控制,在程序中采用 FORKFORKFORKFORK和JOINJOINJOINJOIN语句来实现并行任务的派生和汇合第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度下面介绍一种FORK AFORK AFORK AFORK A和JOIN NJOIN NJOIN NJOIN N相配合的方案 FORKFORKFORKFORK指令:指令格式:FORK AFORK AFORK AFORK A指令功能如下:1) 遇到FORKFORKFORKFORK指令时,执行这条指令的原进程,派生出标记符 A所对应的新进程。计数器N N
6、N N清零,准备好A A A A进程执行的有关信 息,如分配内存,分给访问权等。2) 在它所在的处理机上继续执行原进程。3) 分配空闲的微处理机去执行新派生出来的A A A A进程,如果没有 可用的微处理机,则让它排队等待。第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度JOINJOINJOINJOIN指令指令格式:JOIN N NJOIN N NJOIN N NJOIN N N2的正整数,表示并行进程的个数 指令功能如下:1)JOINJOINJOINJOIN指令附有一个计数器,其初值为0。执行JOINJOINJOINJOIN指令时, 计数器的值加1 1 1 1,并与标记符N N
7、N N进行比较。2)若计数器的值小于N N N N,则表示并行执行中的第N N N N个进程未执行 至JOINJOINJOINJOIN指令,需等待同步。而正执行JOINJOINJOINJOIN指令的这个进程可先 结束,把它占用的微处理机释放出来,分配给正在排队等待的 进程。3)若计数器的值等于N N N N,表示执行中的第N个进程经过JOINJOINJOINJOIN指 令,满足汇合条件,在其所在的微处理机上继续执行后继指令。第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度第四节 多微机控制系统的软件和控制 二、并行进程的控
8、制和调度第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度 多微处理机操作系统并行处理的特点: 各个微处理机执行同一程序段,但不要求完全同步。 系统中可用微处理机的数目,不影响程序的编制。即程序对 可用微处理机的数目并无固定要求。第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度 并行进程的同步与互斥 问题的提出: 多微机系统共享资源,当某一资源被一个微处理机占用时, 其他微处理机不得访问该资源。若有两个或多个任务同时要 求使用某一资源时必须采取措施加以解决 同步两种基本形式: 互斥 保证一个物理的或虚拟的资源只能被单独占用 条件同步 在一组协调的进程中,当一个共享数据目标
9、处于不宜执 行某种指定操作的状态时,任何欲执行该操作的进程均 应被延迟,直到其他进程改变该数据目标的这种状态。第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度 互斥实现方法 每一关键程序段设置一个公共变量或一个共享变量一个公共变量或一个共享变量,起一个 “门锁”的作用 任一程序进入前,要测试该变量的状态: 为“0”,则允许进入 若为“1”,则需要等待。 进入后立即将它置“1”封锁其他进程的进入 完成并退出该程序段后将公共变量置“0”用LOCKLOCKLOCKLOCK(X X X X)和UNLOCKUNLOCKUNLOCKUNLOCK(X X X X)命令实现LOCKLOCKLOCK
10、LOCK(X X X X )置“1”UNLOCK UNLOCK UNLOCK UNLOCK(X X X X )置“0” 第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度 同步一信号灯同步法基本原理是设计两条相互制约的指令,它们对一些特殊的公共 变量(这些公共变量称为信号灯(Semaphore),用S表示)进行处 理,它们只能取整数值,每次只能被一个进程进行加1或减1处 理。利用两条互相制约的指令P(S)和V(S),可以实现互斥和同 步。第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度 同步一信号灯同步法基本原理是设计两条相互制约的指令,它们对一些特殊的公共 变量(这些公
11、共变量称为信号灯(Semaphore),用S表示)进行处 理,它们只能取整数值,每次只能被一个进程进行加1或减1处 理。利用两条互相制约的指令P(S)和V(S),可以实现互斥和同 步。第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度举例进程1与进程2顺序进行 在进程1 P (S) 关键程序段V(S) 在进程2中 P (S) 关键程序段V(S)第四节 多微机控制系统的软件和控制 二、并行进程的控制和调度第四节 多微机控制系统的软件和控制 三、并行算法介绍较常用的算术表达式和线性递归的并行算法 算术表达式的并行算法算术表达式的并行算法 该算法在求解问题时执行时间TP最短,并且达到此时间
12、所用的 处理机数目户最少。 运算的级数称为树高第四节 多微机控制系统的软件和控制 三、并行算法第四节 多微机控制系统的软件和控制 三、并行算法第四节 多微机控制系统的软件和控制 三、并行算法第四节 多微机控制系统的软件和控制 三、并行算法线性递归的并行算法线性递归的并行算法 通过几个例子找出线性递归的普遍公式第四节 多微机控制系统的软件和控制 三、并行算法线性递归的并行算法线性递归的并行算法 通过几个例子找出线性递归的普遍公式第四节 多微机控制系统的软件和控制 三、并行算法线性递归的并行算法线性递归的并行算法 通过几个例子找出线性递归的普遍公式第四节 多微机控制系统的软件和控制 三、并行算法列扫描算法列扫描算法第四节 多微机控制系统的软件和控制 三、并行算法线性递归的并行算法线性递归的并行算法 通过几个例子找出线性递归的普遍公式第四节 多微机控制系统的软件和控制 三、并行算法线性递归的并行算法线性递归的并行算法 通过几个例子找出线性递归的普遍公式第四节 多微机控制系统的软件和控制 三、并行算法线性递归的并行算法线性递归的并行算法 通过几个例子找出线性递归的普遍公式第四节 多微机控制系统的软件和控制 三、并行算法把线性递归普遍式写成下列形式这样,所有因式的计算都可以并 行完成这比列扫描法少用时间,但多用微处理器,在n较大时,效果明显