由于操作过于频繁,请点击下方按钮进行验证!

资源分时共事并行处理

  对于单微处理器结构的CNC装置,由于只有一个CPU来执行任务,所以只能采用“资源分时共享”的方法来实现多任务的并行处理。所谓“资源分时共享”的方法就是在一定的时间长度(常称时间片)内,根据各任务的实时性要求程度,规定它们使用CPU的时间,使它们按规定的顺序和规则分时共享系统的资源。

  采用“资源分时共享”的方法实现多任务并行处理,关键是要解决各任务使用CPU(资源)的时间如何分配的问题,即各任务何时占用CPU和各任务占用CPU的时间长度。机床厂通常采用循环调度和优先抢占调度相结合的方法来解决上述问题的。

  (l)循环调度

  循环调度就是使若干个任务在一个时间片内按一定顺序执行一次并且•个j\ift间片不断地循环执行。机床厂在时间片内,各个任务按设定的时间顺序和时间长度分时占用CPU,而相对于不断循环运行的总时间来说,时间片的时间很短,所以在一个时间片上,若干个任务被看成并行处理。机床厂通常,CNC装置的软件设计将显示、译码、刀具补偿、速度处理、I/O处理等弱实时性任务,按一定逻辑顺序,编成循环结构的程序,以实现循环调度。循环体每执行一次,则从一个时间片来看,CPU对显示、译码、刀具补偿、速度赴理、uo处理等任务进行了并行处理。

  (2)优先抢占调度

  为了满足CNC装置实时任务的要求,系统的调度机制必须具有能根据外界的实时信息以足够快的速度进行任务调度的能力。优先抢占调度就是使系统具有这一能力的调度技术。机床厂它是基于实时中断技术的任务调度机制。中断技术是计算机响应外部事件的一种处理技术,特点是能接任务的重要程度和轻重缓急对其进行响应,而CPU也不必为其开销过多的时间。

  常用的软件设计方法

  为了满足CNC装置的软件的多任务并行性和实时性的工作要求,其软件的设计根据硬件结构的特点采用了相应的设计技术,实现多任务并行处理(即在同一时刻或同一时间间隔内执行两个或两个以上的任务)和实时处理。机床厂常用的软件设计方法有资源分时共享并行处理和资源重复并行处理。

  优先抢占调度是将任务接实时性要求的程度,分为不同的优先级,在CPU空闲时,若同时有多个任务请求执行,优先级别高的任务优先执行(优先调度);在CPU正在执行某任务时,若另一优先级更高的任务请求执行,CPU将立即终止正在执行的任务,转而响应优先级别更高的任务的请求(抢占)。

  优先抢占调度是由硬件和软件共同实现的。硬件由提供中断功能的芯片和电路组成,主要产生中断请求信号e软件主要完成硬件芯片的初始化、任务优先级定义、任务切换处理(断点的保护与恢复、中断向量的保持与恢复)等。   

  为了说明优先强占调度实现多任务实时并行处理的过程,假定某CNC装置软件将其功能仅分为三个任务:位置控制、插补运算和背景程序(包含若干个任务的循环调度运行),且将这三个任务分为三个优先级别。三个任务中位置控制优先级别最高,规定4ms执行一次,由定时中断激活;插补运算次之,规定8m軎执行一次,由定时中断激活;插补背景程序最低。当位置控制和插补运算都不执行时便执行背景程序。机床厂运行过程是在初始化后,自动进入背景程序,轮流反复执行背景程序中的各子任务。机床厂当位置控制和插补运算需要扰行时,可以随时中断背景程序的运行。机床厂同样,位置控制可随时中断插补运算的运行。优先抢占调度的多任务实时并行处理过程。

  在0—4ms,只执行背景程序;在4ms时刻,位置控制发出中断请求,即刻中断背景程序的运行,抢占CPU执行位置控制任务;在8ms时刻,位置控制和插补运算同时发出中断请求,又即刻抢占CPU,中断背景程序的运行,由于位置控制优先级别高于插补运算,位置插补任务优先执行,待位置控制任务完成后,再执行插步运算;就这样,保证了实时周期性任务准确地按一定的时间周期执行。也可以看出,在任何时刻只有一个任务占用CPU;但从一个时间片(8或16ms)来看,CPU并行执行了三个任务。

  因此,资源分时共享的并行处理是宏观意义上的,微观上还是各个任务顺序执行的。


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。

网友评论 匿名:

分享到

相关主题