基于媒体处理器的实时操作系统设计研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
作为当今一个应用的热点,多媒体应用强劲的推动着芯片业的发展,有强大处理能力的可编程媒体信号处理器芯片发挥着越来越重要的作用。由于实时操作系统不仅能提高媒体处理器芯片的性能和可靠性,而且能在芯片验证时发挥作用,因此它日益成为芯片系统中不可分割的一部分。本文以可编程媒体信号处理器MediaDSP3200(简称MD32)为处理器原型,设计并实现了一个基于媒体信号处理器的实时操作系统Iota。
     设计的实时操作系统内核,包括任务管理、任务间通信、存储管理、时钟管理和异常处理系统调用等部分。实时内核支持16个任务,它采用抢占调度机制来提高实时性能;任务间同步使用信号量来实现;实时内核采用了互斥信号量避免优先级反转;实时内核采用了分页不交换的虚拟存储机制,实现了一种简单的存储保护和共享机制;存储管理静态管理任务的存储空间,同时给任务提供了动态内存管理的服务函数;存储共享实现了进程间的零开销通信;时钟管理给任务提供了定时功能,并可以设置和读取系统时间;异常处理的实现提高了系统错误处理能力;系统调用给应用进入内核调用服务提供了接口。
     实时操作系统Iota设计了文件系统,它把设备当作文件进行管理和操作,屏蔽了硬件特性,易于多平台移植和验证。媒体处理的数据流很大,为了提高平台验证时下载速度,Iota设计了网络协议栈,来提高数据传输速度,从而缩短验证时间。
     作者同时实现了一种基于RTOS软硬件仿真验证平台。RTOS和软件不仅可以在这个仿真验证平台调试验证,而且可以验证硬件的正确性。RTOS通过修改硬件抽象层,把文件输出重定向到新的显示终端,就实现了异构平台上的仿真。基于RTOS的软硬件仿真验证平台,减少仿真验证的工作量,加快了软件开发的进程。
As an application hotspot, multimedia application also greatly improves the development of IC industry. With the powerful processing ability, programmable media signal processor has been more and more important in the application. The real time operating system (RTOS) can not only improve the performance and reliability of the media processor SOC, but also simplify the development and debugging of media processor SOC. There is a growing consensus that RTOS has become an indispensable part of SOC. We designed and realized a real-time operating system, named Iota, for media processor. MediaDSP3200 (MD32) is the prototype media processor.
    The real-time microkernel we designed includes the following parts: task management, synchronization and communication, memory management, time management, interrupt handling and system call. The real-time microkernel supports 16 tasks. The preemptive scheduling mechanism is adopted for the real-time tasks. Iota utilizes semaphore to synchronize the access of shared resource and execution order of processes. Mutex exclusion semaphore is implemented for avoiding the priority inversion. According to the characteristics of processor MMU, a simple memory protection and sharing mechanical is designed. Iota also supplies a dynamic memory management mechanism to meet dynamic memory allocation need for some programs. Time management offers time function for tasks, and the system can read and set the time. Interrupt handling is implemented for the system to find and repair system or user program errors. System call is implemented for tasks to enter kernel space and execute system service.
    A simple file management is completed in Iota. A device can be operated and managed as a file. Because of the existence of file management, Iota can ignore the characteristics of the hardware platform and regard the hardware devices as the files, so it can be easy to be migrated for the other hardware platform. Because the data of media processing is large, a simple network protocol is also implemented to speedup the data transmission between the host machine to the target platform when we simulate the media processing program.
    We present a methodology for software/hardware co-verification based on RTOS according to the characteristic of our media processor chip. A co-verification platform based on RTOS is the basic and vital elements in this methodology and could be migrated easily. In the phase of chip designing, we establish a software verification platform whose hardware is close to our chip. We verify the correctness of software in this co-verification platform, then use this correct software to verify the correctness of chip in the hardware verification platform. Adopting this methodology, it could not only verify the correctness of the chip and reduce the possibility of the errors in the chip, but also shorten the co-verification time.
引文
[
    
    
    [1]Brian Santo "Embedded Battle Royale" IEEE Spectrum 12, 2001.
    [2]Iwasaki, H.; Naganuma, J.; Endo, M.; Ogura, T. "On-chip multimedia real-time OS and its MPEG-2 applications" Real-Time Computing Systems and Applications, 1999. RTCSA'99. Sixth International Conference on Published: 1999, Page(s): 200-203.
    [3]Henry Chang, Larry Cooke, Merrill Hunt etc. Surviving the SOC Revolution A Guide to Platform-Based Design Kluwer Academic Publishers 1999.
    [4]A.Ghost, M.Bershteyn, R.Casley, C.Chien, A.Jain, etc, A Hardware-Software Co-Simulator for Embedded System Design and Debugging. Design Automation Conference, 1995. Proceedings of the ASP-DAC '95/CHDL '95/VLSI '95.,Published: 1995, Page(s): 155-164
    [5]Feng Gao, Peng Liu, Qingdong Yao, "Hardware/Software Co-design of Real Time Operating System for SOC", The 5th World Multi-Conference on Systemics, Cybernetics and Informatics, SCI 2001, July 22-25, 2001, Orlando, Florida USA.
    [6]Khawar M. Zuberi, Padmanabhan Pillai, Kang G Shin. EMERALDA: a small-memory real-time microkernel 17th ACM Symposium on Operating System Principles (SOSP'99). Published as Operating Systems Review, 34(5): 277-291, Dec. 1999.
    [7]http://www.ti.com.
    [8]Kuroda, I.; Nishitani, T.;" Multimedia processors", Proceedings of the IEEE, Volume: 86, Issue: 6, June 1998 Pages:1203-1221.
    [9]姚庆栋,张朝阳,刘鹏等,“系统集成芯片综述”,计算机自动测量与控制,pp.1-4,2000年第3期.
    [10]“半导体集成化芯片系统基础研究科学论坛纪要”,国家自然科学基金委员会21世纪核心科学问题论坛,2001.
    [11]Ravi S, Lakshrninarayan.G, Jha, N.K. "A framework for testing core-based systems-on-a-chip" Computer-Aided Design, 1999. Digest of Technical Papers. 1999 IEEE/ACM International Conference on, 1999 Page(s): 385-390.
    [12]P.Goyal, X. Guo, H.M. Vin, "A hierarchical CPU scheduler for multimedia operating systems", Proc. of 2nd USENIX Symp. On Operating Systems Design and Implementation (OSDI'96), Seattle, WA, USA, October 1996, pp.107-121.
    [13]H.-H. Chu, K.Nahrstedt, "CPU service classes for multimedia application", Proc.of IEEE Int.Conf. On Multimedia computing and Systems (ICMCS'99), Forence, Italy, June 1999.
    [14]I.Leslie, D.McAuley, R. Black, T.Roscoe, P.Barbara, D.Evers, R.Fairbarins, E.Hyden, "The design and implementation of an operating system to support distributed multimedia applications", IEEE Journal on Selected Areas in Communications 14(7) (1996) 1280-1297.
    [15]R.Govindan, D.P.Anderson, "Scheduling and IPC mechanisms for continuous media", Proc. of 13th ACM Symp. On Operating Systems Principles (SOSP'91), Pacific Grove, CA, USA, October 1991, pp. 68-80.
    [16]J.Nieh, M.S.Lam, "The design, implementation and evaluation of Smart: a scheudler for multimedia applications". Proc of 16th ACM Symp. On Operating System Principles (SOSP'97), St. Malo, France, October 1997, pp.184-197.
    [17]T.Nakano, M.Itabashi, U.Andy, "A.Shiomi and M.Imai. Hardware Implementation of a Real-time Operating System", Proceeding of the Twelfth TRON Project International
    
    Symposium, IEEE Computer Society Press, Nov, 1995, pp.34-42.
    [18] C.A.R. Hoare. "Monitors: An Operating System Structure Concept", Communicaiton of the ACM, Vol.17, No.10, October 1974, pp.549-557.
    [19] K.C.Tai, R.H.Carver. "VP: A New Operating for Semaphores", ACM Operationg Systems Review, Vol.30, July 1996, pp.5-11.
    [20] J.F.Ready. "VRTX: A Real Time Operating System for Embedded Microprocessors Applications", IEEE MICRO, Auguest 1996, pp.5-11.
    [21] H.Monden. "Introduction to ITRON the Industry-oriented Operating System", IEEE MICRO, April 1987, pp.45-52.
    [22] B.K.Seljak. "Task Scheduling Policies for Real-time Systems", Microprocessors and Microsystems, Vol.18, No.9, November 1994, pp.501-504.
    [23] A.Burns. Scheduling Hard Real-time Systems: a Review. Software Engineering Journal, May 1991, pp.116-128.
    [24] 《VXWbrks实时内核分析》http://www.windriver.com/
    [25] eCos http://sources.redhat.com/ecos/.
    [26] QNX http://www.qnx.com/.
    [27] LynxOS http://www.lynuxworks.com/.
    [28] A.Bums.Scheduling Hard Real-time Systems: a Review. Software Engineering Journal, May 1991, pp.116-128.
    [29] K.Ramamritham, J.A.Stankovic. "Scheduling Algorithms and operating Systems Support for Real-Time Systems", Proceeding of the IEEE, Vol.82, No.1 January 1994, pp.55-67.
    [30] J.E.Cooling, "Task Scheduling in Hard Real-time Embedded Systems Using Hardware Coprocessors", Microprocessors and Microsystems, Vol.18, No.10, December 1994, pp.571-578.
    [31] J.Stankovic and K.Ramamritham, "The Spring Kernel: A New Paradigm for Real-Time Operating Systems", ACM Operating Systems Review, vol.23, no.3, pp.54-71, July 1989.
    [32] Liu, C., and Layland, J. "Scheduling Algorithm for Multiprogramming in a Hard Real-time Environment." Journal of the ACM, Februray 1973.
    [33] Labrosse, Jean J. "μC/OS-Ⅱ, The Real-Time Kernel", Lawrence, Kansas R&D Publications, 1992.
    [34] Nakajima, T. Tezuka, H. "Virtual memory management for interactive continuous media applications" Multimedia Computing and Systems '97. Proceedings, IEEE International Conference, 1997. pp:415-423.
    [35] Chillet, D., Sentieys, O., Corazza, M. "Memory unit design for real time DSP applications" VLSI, 1999. Proceedings. Ninth Great Lakes Symposium on 1999. pp.260-263.
    [36] Hilgenstock, J.; Hermann, K.; Pirsch, P."Memory organization of a single-chip video signal processing system with embedded DRAM". VLSI, 1999. Proceedings. Ninth Great Lakes Symposium on 1999, pp:42-45.
    [37] Chiou, D.; Jain, P.; Rudolph, L.; Devadas, S. "Application-specific memory management for embedded systems using software-controlled caches" Design Automation Conference, 2000. Proceedings 2000 pp:416-419.
    [38] William Stallings, "Operating Systems internal and design priciples", 3rd Edition, Prentice Hall 1998.
    [39] Zhaohui Duan, "what makes a good rtos", Real-time magazine. December; 1998
    
    http://www.realtime-info.be.
    [40]浙江大学信息与通信工程研究所,MD32技术报告.
    [41]毛德操;胡希明 “Linux内核源代码情景分析”,浙江大学出版社,2001.
    [42]W.Richard Stevens, TCP/IP Illustrated Volume 1: The Protocols, Addison-Wesley, 1994.
    [43]W.Richard Stevens, TCP/IP Illustrated Volume 2: The Implementation, Addison-Wesley, 1995.
    [44]Forouzan, BehrouzA, Tcp/Ip Protocol Suite, McGraw Hill College Div, 2002.
    [45]Thomas, Adams, Schmit, A Model and Methodology for Hardware-Software Codesign IEEE Design & Test of Computers, Sept.1993, pp.29-41.
    [46]Peng Liu et al., "Hardware/Software Codesign for HDTV Source Decoder on System Level", Proceedings of SPIE, Vol.4671, pp.679-686, Jan. 2002.
    [47]Peng Liu, Qingdong Yao, Weijiang Yang, "System on Chip Co-simulation Based on Virtual Prototyping Machine", The 5th World Multi-Conference on Systemics, Cybernetics and Informatics, SCI 2001, July 22-25, 2001, Orlando, Florida USA.
    [48]MIPS TECHNOLOGIES, Atlas User's Manual, 2000.10.
    [49]MIPS TECHNOLOGIES, YAMON User's Manual, 2002.9.
    [50]Akgul, T., Kuacharoen, R, Mooney, V.J., etc, A debugger RTOS for embedded systems, Euromicro Conference, 2001. Proceedings.27th, 2001 pp.264-269.
    [51]Gao Feng, Liu Peng, Yao Qingdong, A Methodology for platform Based High-level Sysetm-on-Chip Verification, Chinese Journal of Electronics, Vol.12, No.1, Jan.2003, pp.61-64.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700