【24h】

Asynchronous Software Thread Integration for Efficient Software Implementations of Embedded Communication Protocol Controllers

机译:异步软件线程集成,用于嵌入式通信协议控制器的高效软件实现

获取原文
获取原文并翻译 | 示例

摘要

The overhead of context-switching limits efficient scheduling of multiple concurrent threads on a uniprocessor when real-time requirements exist. Existing software thread integration (STI) methods reduce context switches, but only provide synchronous thread progress within integrated functions. For the remaining, non-integrated portions of the secondary threads to run and avoid starvation, the primary thread must have adequate amounts of coarse-grain idle time (longer than two context-switches). We have developed asynchronous software thread integration (ASTI) methods which address starvation through the efficient use of coroutine calls and integration. ASTI allows threads to make independent progress efficiently and reduces the number of context switches needed through integration. Software-implemented protocol controllers are crippled by this problem; the primary thread "bit-bangs" each bit of a message onto or off of the bus, leaving only fragments of idle time shorter than a bit time. This fragmented time may be too short to recover through context switching, so only the primary thread can execute during message transmission or reception, slowing the secondary threads and potentially making them miss their deadlines. ASTI simplifies the implementation of embedded communication protocols on low-cost, moderate speed (1 - 100 MHz, 8- and 16-bit) microcontrollers. We demonstrate ASTI by replacing a standard automotive communication protocol controller (J1850) with software and generic hardware. Secondary thread performance improves significantly when compared with a traditional interrupt-based software approach.
机译:当存在实时需求时,上下文切换的开销限制了单处理器上多个并发线程的有效调度。现有的软件线程集成(STI)方法减少了上下文切换,但仅在集成功能内提供同步线程进度。为了使次线程的其余非集成部分运行并避免出现饥饿,主线程必须具有足够数量的粗粒度空闲时间(大于两个上下文切换)。我们已经开发了异步软件线程集成(ASTI)方法,可通过有效使用协程调用和集成来解决饥饿问题。 ASTI允许线程有效地进行独立进度,并减少了集成所需的上下文切换次数。这个问题削弱了软件实现的协议控制器。主线程将消息的每个位“按位”插入总线上或从总线上断开,仅留下空闲时间比比特时间短的片段。这个碎片化的时间可能太短,无法通过上下文切换来恢复,因此只有主线程才能在消息发送或接收期间执行,这会降低辅助线程的速度,并可能使它们错过最后期限。 ASTI简化了低成本,中等速度(1-100 MHz,8位和16位)微控制器上嵌入式通信协议的实现。我们通过用软件和通用硬件替代标准的汽车通信协议控制器(J1850)来演示ASTI。与传统的基于中断的软件方法相比,辅助线程性能显着提高。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号