专利名称:能够装载和运行特定操作系统的单芯片系统的制作方法
技术领域:
本发明属于微电子集成电路领域,是有关一种能够装载和运行特定操作系统的单芯片系统。
现有技术现有的微处理器一般都不是针对特定的操作系统(如Linux或Windows CE)设计的,一般片内只有少量的RAM,没有ROM。要使用这样的通用的微处理器构成一个能够装载和运行特定操作系统(如Linux或Windows CE)的微处理器系统,需要在微处理器以外扩展足够数量的ROM和RAM以及其它外部接口器件。这样的通用的微处理器与ROM、RAM外围芯片组装在电路板上,芯片间用导线连接在一起。
这种通用的微处理器设计的出发点是从硬件的角度考虑,而从软件和应用的角度考虑较少,更不是针对特定的操作系统(如Linux或Windows CE)设计的。其设计思想是,用户的应用需求差别非常大,需要的存储器如ROM、RAM的数量以及其它外部接口的种类和数量都无法确定,所以存储器应该放在微处理器芯片之外,由用户决定需要的存储器如ROM、RAM的数量以及其它外部接口的种类和数量。这种设计思想是要以一种通用的微处理器结构尽可能多地满足不同种类的用户的应用需求,所以这种通用的微处理器芯片上只包含大多数应用所需的通用的部件,如ALU、寄存器组、CACHE、存储器控制器等,用户需要根据自己所要采用的操作系统和特定的应用需求,在外部扩展其所需要数量的ROM和RAM以及其它外部接口器件,多个芯片组合在一起才能构成一个可以使用的系统。这样做的优点是非常灵活,可以适应各种各样的应用,其中所要用到的ROM、RAM的数量以及外设(如通信接口)的种类和数量是由应用来决定的。
随着INTERNET的发展,以Linux或者Windows CE为操作系统的嵌入式系统应用越来越普遍。这类应用的操作系统是确定的,系统运行时需要的资源(如CPU的性能、ROM和RAM的数量)较少,能够在ROM和RAM中装载和运行。在许多应用场合尤其是嵌入式系统中,操作系统占有的资源如ROM和RAM的数量、微处理器的运行时间等都是最大的,一般远远多于应用程序所占有的资源。所以,在这样的针对特定操作系统(如Linux或Windows CE)的应用中,CPU的性能、ROM和RAM的数量等是基本确定的,有时候外部接口的种类和数量也是确定的。这就需要一种集成了CPU、ROM、RAM以及其它外部接口(如总线接口、通信接口)的单芯片系统,它是针对特定操作系统(如Linux或Windows CE)设计的,它能够直接运行特定操作系统(如Linux或Windows CE)及用户应用程序而无须扩展外部ROM和RAM等芯片。
但目前并没有这样的单芯片系统,而都是使用通用的微处理器外加存储器ROM、RAM和其它芯片构成一个微处理器系统来运行这类操作系统,多个元件安装在电路板上,元件之间用导线连接在一起。这样的系统存在如下缺点(1)集成度低,需要多个芯片才能够组成一个可以使用的系统。
(2)系统性能受限制。多个元件需要安装在电路板上,多个元件之间需要导线连接在一起,这比单一芯片内各个部件间的导线连接长度要长许多,与导线长度相关的分布参数如分布电容和分布电感的值相对较大,限制了整个系统的工作频率,从而使系统性能受限制。
(3)系统设计难度大。现代微处理器系统工作频率很高,所用到的外围器件如存储器和网络器件也都是工作在很高频率上的复杂器件,把很多个这样的器件组合在一起构成一个可用的系统,硬件设计难度很大,软件编程如初始化程序和特定操作系统的驱动程序的编程也很困难。
(4)成本高。实现同一功能,由多个芯片完成其成本一般高于单芯片系统。一般的微处理器其与外部存储器接口的数据总线、地址总线和控制总线往往占据芯片引脚数目中非常大的一部分,芯片引脚数目很多,成本高。
发明创造的目的针对目前技术的缺点,我们提出一种能够装载和运行特定操作系统(如Linux或Windows CE)的单芯片系统,这种芯片设计的出发点是针对特定操作系统和应用软件设计的单芯片系统,而不是像现有通用微处理器那样要尽可能多的满足不同种类的应用需求。由于操作系统和应用是基本上确定的,所以系统需要用到的存储器数量和种类以及外设的种类都是基本确定的,这样就可以把微处理器、足够数量的ROM、RAM、各种外设以及总线接口部件等都集成到一块芯片,操作系统可以在制造芯片时写入到ROM中,或在芯片交付用户后,由用户通过JTAG接口或其它通信接口部件装载到芯片内的可擦写ROM中。芯片复位之后,特定操作系统(如Linux或Windows CE)和用户的应用程序被转移或者解压缩到易失存储器(RAM)中运行,也可以在只读存储器(ROM)中直接运行。这样的单芯片系统是为装载和运行特定的一种或几种操作系统(如Linux、Windows CE等)而设计的,装载和运行这样特定的一种或几种操作系统(如Linux、Windows CE等)所需要的资源(ROM、RAM的数量、微处理器的处理能力等)一般比较大,大大超出了目前的单芯片的通用微处理器所拥有的资源,因而无法在目前已有的单芯片的通用微处理器上实现。而在根据本发明设计的单芯片系统上则能够实现。
这样一个单芯片系统的一个目标是提供一种系统,它能够装载和运行特定操作系统(如Linux、Windows CE等)。
这样一个单芯片系统的另一个目标是单一芯片上包含足够数量的存储器(ROM和RAM),在这个单芯片系统之外无须扩展ROM或RAM,能够在单一芯片上实现其硬件和软件功能。
这样一个单芯片系统的另一个目标是单一芯片上包含接口模块,用户在需要的时候能够通过总线接口部件扩展其所需要的功能,或者通过外围接口部件与其它系统交互。
发明创造的技术方案能够装载和运行特定操作系统的单芯片系统,该系统包括微处理器模块101,用于将特定操作系统和运行在该操作系统之上的应用程序由ROM转移到RAM,然后在RAM中启动和执行操作系统和应用程序;或者将ROM中以压缩形式存储的操作系统和应用程序解压缩到RAM中,然后在RAM中启动和执行操作系统和应用程序;或者直接在ROM中启动和执行操作系统和应用程序,如图2所示;ROM102,用于存储特定操作系统和运行在该操作系统之上的应用程序;RAM103,用于存储和在其中运行由ROM转移而来的特定操作系统和运行在该操作系统之上的应用程序;接口模块104,用于与这里所说的单芯片系统之外的电路或系统接口;ROM102、RAM103、接口模块104通过总线105与微处理器模块101相接,单芯片系统集成在一个集成电路片基或芯片上。
这样的单芯片系统100是为装载和运行特定的一种或几种操作系统(如Linux、Windows CE等)而设计的,由于操作系统是确定的,所以运行操作系统需要用到的资源(如ROM 102和RAM 103的大小、CPU的性能等)就可以确定。另外需要考虑运行在操作系统之上的应用程序所需资源的大小,很多应用场合应用程序相对操作系统而言占有的资源较少,甚至可以忽略,而在有些应用场合如具有图形用户界面(GUI)的应用,应用程序相对操作系统而言占有的资源较多。在综合考虑了操作系统和应用程序所需的资源之后,一个为装载和运行特定的一种或几种操作系统(如Linux、Windows CE等)和应用程序而设计的单芯片系统100的各个组成部分的参数(如CPU的性能、ROM 102和RAM 103的类型和数量等)就能够确定下来。
图1是本发明的原理图;图2是操作系统和用户的应用程序的启动和执行流程图;图3是多CPU微处理器模块原理图;图4是多微处理器模块原理图;图5是另一种微处理器模块原理图;图6是本发明的实施例原理图。
下面结合
。
如图1所示,能够装载和运行特定操作系统的单芯片系统,该系统包括微处理器模块101,用于将特定操作系统和运行在该操作系统之上的应用程序由ROM转移到RAM,然后在RAM中启动和执行操作系统和应用程序;或者将ROM中以压缩形式存储的操作系统和应用程序解压缩到RAM中,然后在RAM中启动和执行操作系统和应用程序;或者直接在ROM中启动和执行操作系统和应用程序,如图2所示;ROM102,用于存储特定操作系统和运行在该操作系统之上的应用程序;RAM103,用于存储和在其中运行由ROM转移而来的特定操作系统和运行在该操作系统之上的应用程序;接口模块104,用于与这里所说的单芯片系统之外的电路或系统接口;ROM102、RAM103、接口模块104通过总线105与微处理器模块101相接,单芯片系统集成在一个集成电路片基或芯片上。
微处理器模块101可以由一个单一的CPU组成,所说的单芯片系统100就是一个单处理器系统。
微处理器模块也可以由多个CPU 301及一个仲裁和控制单元302组成,如图3.所示。仲裁和控制单元302用于控制各个CPU 301使它们协同工作,多个CPU 301共用ROM 102和RAM 103。这时所说的单芯片系统100就是一个多处理器系统。这个多处理器系统在单芯片上实现,并能够在单芯片上装载和运行支持多CPU的特定操作系统(如Linux)。
微处理器模块101中用到的CPU的种类(CISC还是RISC、16位、32位还是64位等)没有限制。它可以是已有的由CPU设计厂家如ARM Corp.、MIPS Corp.等授权(license)的一个IP(IntellectualProperty)核(core),也可以是重新设计的一个新的CPU类型。CPU必须有足够的性能能够运行特定操作系统(如Linux、Windows CE等)。
ROM 102可以是不可改写的ROM或者一次性可编程ROM,也可以是可擦写的如Flash Memory、EEPROM等。这取决于成本的要求和应用的类型。可擦写ROM实现起来成本更高。综合考虑成本和不同应用的特点,ROM 102可以有以下3种不同实现方式(1)对于那些日后不需要改动或升级操作系统和应用程序的应用,可以采用不可改写的ROM或者一次性可编程ROM,操作系统和应用程序在制造芯片的时候就被写入到ROM里,或者在芯片交付用户后由用户(通过芯片的总线接口或者通信接口或者测试接口如JTAG接口或者专门的编程接口)写入系统的一次性可编程ROM中。
(2)对于那些日后需要改动或升级操作系统和应用程序的应用,可以采用可擦写的如Flash Memory、EEPROM等。
(3)还可以采用一种混合类型的ROM,即一部分ROM为不可改写的ROM或者一次性可编程ROM,用于存储相对固定的程序和数据如芯片的初始化程序、操作系统可执行代码、函数库、字典、汉字库等,而一部分ROM为可改写的ROM如Flash Memory、EEPROM等,用于存储需要经常变化或者在芯片制造时不能确定的程序和数据如用户程序代码。在很多应用中相对固定的程序和数据的数量要远远大于需要经常变化或者在芯片制造时不能确定的程序和数据的数量。所以,这样混合类型的ROM的实现方式是一种经济而又灵活的方式。
ROM 102的存储容量必须足够大,以保证这个单芯片系统100无须在片外扩展ROM就能够装载和运行特定操作系统(如Linux或Windows CE)。
这样的单芯片系统100所要运行的操作系统和应用程序可以有多种方式预装在ROM 102中。一种方式是操作系统和应用程序在制造芯片的时候就被写入到ROM 102里;一种方式是在芯片交付用户后由用户写入ROM 102中;另一种方式是操作系统和应用程序的部分代码和数据在制造芯片的时候就被写入到ROM 102里,另一部分在芯片交付用户后由用户写入ROM 102中。
RAM 103可以是动态随机存储器(Dynamic Random AccessMemory)即DRAM,也可以是静态随机存储器(Static Random AccessMemory)即SRAM。这取决于系统的性能要求和成本限制。SRAM存取速度快,但是实现的成本高,同样容量的情况下SRAM比DRAM占用更大的芯片面积。所以需要高性能、低存储容量的系统可以选用SRAM,而低速的或需要高容量随机存储器的系统可以选用DRAM。RAM 103的存储容量必须足够大,以保证这个单芯片系统100无须在片外扩展RAM就能够装载和运行特定操作系统(如Linux或Windows CE)。
这样的单芯片系统100通过接口模块104与芯片外部的电路或系统接口或通信,接口或通信可以有多种方式。一种是总线接口方式,是通过总线接口单元使用标准的总线(如PCI总线)或本系统专有的总线与芯片外部的电路或系统接口,这种方式可扩展性好,能够适应各种不同的应用,但芯片引脚数目较多,成本高;一种是通过一个或多个通信接口(如RS-232、以太网、ADSL、ISDN、CABLE MODEM等)与外部的电路或系统接口和通信,这样的方式芯片的引脚数目非常少,成本很低,适合于功能非常明确的应用场合;一种是接口模块采用一个或者多个无线的通信接口,与这里所说的单芯片系统之外的电路或系统接口。
用户有多种途径从芯片外将程序或数据写入芯片内的ROM 102中。一种是通过芯片的总线接口对ROM 102进行读写;一种是通过通信接口如RS-232、以太网、ADSL、ISDN、CABLE MODEMD等;另一种是通过专门的测试接口或者编程接口(如JTAG接口)。
特定操作系统(如Linux或Windows CE)和用户的应用程序可以压缩的形式存在ROM 102中,可以采取任意的压缩算法;也可以用正常的非压缩的形式存储在ROM 102中。
这样的单芯片系统100对操作系统(如Linux或Windows CE)和用户的应用程序的启动和执行流程如图2所示。芯片复位之后,首先执行一段对CPU和芯片上其它部件进行初始化的代码202,为引导和执行特定操作系统(如Linux或Windows CE)和用户的应用程序作好准备,然后这段代码将判断特定操作系统(如Linux或WindowsCE)和用户的应用程序在ROM 102中存储的形式,决定下一步如何执行。如果操作系统(如Linux或Windows CE)和用户的应用程序需要在只读存储器(ROM 102)中直接运行,则立即开始执行;否则操作系统(如Linux或Windows CE)和用户的应用程序被转移或者解压缩到易失存储器(RAM 103)中运行。
这样的单芯片系统100也可以是一个多处理器系统,如图3所示,多个CPU 301与仲裁和控制单元302组成微处理器模块101。通过微处理器模块101内部总线304连接到仲裁和控制单元302,再通过单芯片系统100内部总线105与单芯片系统100内的ROM 102、RAM 103和接口模块104相连。多个CPU 301共用ROM 102、RAM 103和接口模块104。
这样的单芯片系统100也可以是另一种形式的多处理器系统,如图4所示,其中每个处理器系统模块500的构造如图5所示。但它们不是独立的芯片,而是芯片内的一个模块,分别有自己的CPU501、ROM 502和RAM 503及接口模块504,运行各自的操作系统,通过接口模块504与片上其它处理器系统模块500及片外系统通信。各个处理器系统模块500通过一个仲裁和控制单元402相互通信和控制。这个多处理器系统也在单芯片上实现。
对这里所说的单芯片系统100所要装载和运行操作系统是有限制的,即装载和运行这种操作系统所需的资源(CPU的性能、ROM、RAM的数量等)在单芯片上能够实现。如果同一操作系统有多个版本,一般选用其嵌入式版本,因为装载和运行这种操作系统所需的资源较少。例如,当要装载和运行这种操作系统是Linux操作系统时,一般选用嵌入式Linux。
虽然这里所说的单芯片系统100是为装载和运行操作系统而设计的,但它并不仅限于装载和运行一种操作系统,当两种或两种以上的操作系统分别装载和运行时所需的资源相差不多时,将这里所说的单芯片系统100设计成能够装载和运行两种或两种以上的操作系统,这样设计的单芯片系统100应用将更加广泛。
本申请相对现有技术而言所具有的优点和效果(1)提高了集成度采用上述单芯片系统,原来由多个芯片完成的功能可以由单个芯片完成,可以无须连接其它外围器件而由这一单芯片系统直接运行特定操作系统(如Linux或Windows CE)和用户的应用程序,真正实现片上系统。用户产品的体积也能够缩小。
(2)提高了性能由于多个功能部件如微处理器、ROM、RAM、通信接口部件等都集成在单个芯片上,各个部件间的连线距离大大缩短,使系统运行速度得以提高,从而提高了系统性能。
(3)降低了成本实现同一功能,由单个芯片完成其成本一般低于由多个芯片完成。采用本发明后一般可以省去片外存储器,一般的微处理器其与外部存储器接口的数据总线、地址总线和控制总线往往占据芯片引脚数目中非常大的一部分,所以芯片引脚数目会大大减少,芯片也可以做得更小,从而降低了成本。
(4)缩小了芯片和应用系统体积实现同一功能,由单个芯片完成其体积低于由多个芯片完成。采用本发明后一般可以省去片外存储器,完成系统功能所需要的芯片数目减少了,从而缩小了应用系统体积;芯片引脚数目也会大大减少,芯片的体积也可以缩小。
(5)减少了系统设计难度由于多个功能部件都已经集成在这一单芯片系统100上,用户不再象过去那样需要考虑微处理器与存储器及其它外围接口器件的接口设计问题,硬件设计难度大大降低。这样的单芯片系统100在制造的时候还可以把存储器及其它外围接口器件的初始化程序及特定操作系统(如Linux或Windows CE)的驱动程序预先设计好,写入片上ROM 102中,用户无须自己编写这些初始化程序和驱动程序,软件设计难度也大大降低。
(6)缩短了用户产品开发周期用户不再像过去那样需要考虑微处理器与存储器及其它外围接口器件的硬件接口及软件驱动程序,只需要专注于其特定应用的接口设计和软件开发,因而使用本技术可以大大缩短用户产品开发周期。
采用本发明后,通过将CPU、ROM、RAM、总线接口部件等集成在单个芯片中,装载和运行特定操作系统(如Linux或Windows CE)和用户的应用程序的微处理器系统所需的芯片的数量可以大幅度减少,甚至用单个芯片实现。在很多需要应用Linux或Window CE操作系统的应用场合可以使用本系统,仅需单一一个芯片就可经济、快速的实现其功能。这样一个单芯片系统在一个引脚数目很少、体积很小的芯片上能够运行像Linux或Window CE这样功能强大的操作系统,真正实现片上系统。这样的系统不但能够在现在已经有的应用中如网络设备、通信、控制、手持设备等领域具有广泛的应用前景,而且能够使过去一些因为性能和体积等因素的限制而无法实现的应用得以实现,并将开拓出新的应用领域。
实施例首先要确定本发明所说的单芯片系统100所能够装载和运行嵌入式特定操作系统。在现有技术条件下,这里所说的的单芯片系统100并适合那些存储和运行时占有存储器特别较小的操作系统,特别是嵌入式操作系统。这里的实施例使用Linux操作系统的一个嵌入式版本,称为uclinux.,可以由以下Web地址处得到http//www.uclinux.org/uclinux存储和运行时占有ROM和RAM的大小与具体应用有关。例如一个窄带路由器,以uclinux操作系统,包含uclinux操作系统和运行在这样的操作系统之上的路由器所需的全部应用软件,其可执行代码的大小约为800K字节,运行时需要的RAM数量小于4M字节。
操作系统确定后,这里所说的单芯片系统100上的ROM和RAM的大小就可以确定下来。ROM采用Flash Memory,大小定为2M字节,RAM采用动态随机存储器(DRAM),数量定为4M字节。这样类型和数量的存储器在现有技术条件下比较容易实现,成本较低。有这样数量的存储器uclinux足以顺利运行,并且在装载和运行uclinux操作系统之后还剩余足够数量的ROM和RAM来装载和运行应用程序。
微处理器模块由一个单一CPU构成,采用ARM Ltd.公司的ARM7TDMI CPU.uclinux操作系统已经移植到这种CPU上,这种CPU也有足够的性能运行uclinux操作系统。ARM Ltd.公司已经授权(license)多家半导体生产厂家如Taiwan SemiconductorManufacturing Company(TSMC)为其它厂家设计和生产以这种CPU为核心微处理器。
接口模块部件采用一个总线接口部件,通过一种专有总线包括数据总线、地址总线和控制总线与系统之外的其它电路或系统接口。
上述实施例提出了一种能够装载和运行特定操作系统(uclinux)的单芯片系统100,其实现框图如图6.所示,所包括的各个部分及特征可总结如下能够装载和运行特定操作系统即linux操作系统的一个嵌入式版本uclinux;包括2M字节的Flash Memory 602;
包括4M字节的DRAM 603;包括一个ARM Ltd.公司的ARM7TDMI CPU核601;包括一个总线接口部件605,通过总线606与芯片外的电路或系统607接口;整个系统集成在一个单一芯片600上。
权利要求
1.能够装载和运行特定操作系统的单芯片系统,其特征在于该系统包括ROM,用于存储特定操作系统和运行在该操作系统之上的应用程序;RAM,用于存储和在其中运行由ROM转移而来的特定操作系统和运行在该操作系统之上的应用程序;微处理器模块,用于将特定操作系统和运行在该操作系统之上的应用程序由ROM转移到RAM,然后在RAM中启动和执行操作系统和应用程序;或者将ROM中以压缩形式存储的操作系统和应用程序解压缩到RAM中,然后在RAM中启动和执行操作系统和应用程序;或者直接在ROM中启动和执行操作系统和应用程序;接口模块,用于与这里所说的单芯片系统之外的电路或系统接口;ROM、RAM、接口模块通过芯片内部总线与微处理器模块相接,单芯片系统集成在一个集成电路片基或芯片上。
2.权利要求1.中所述的单芯片系统,其特征在于微处理器模块采用一个单一的CPU。
3.权利要求1.中所述的单芯片系统,其特征在于微处理器模块由多个CPU及一个仲裁和控制单元组成,仲裁和控制单元用于控制各个CPU使它们协同工作。
4.权利要求1.中所述的单芯片系统,其特征在于ROM 102采用不可改写类型的ROM。
5.权利要求1.中所述的单芯片系统,其特征在于ROM采用可改写类型的ROM。
6.权利要求1.中所述的单芯片系统,其特征在于ROM一部分采用不可改写类型的ROM,一部分采用可改写类型的ROM。
7.权利要求1.中所述的单芯片系统,其特征在于RAM采用静态随机存储器SRAM。
8.权利要求1.中所述的单芯片系统,其特征在于RAM采用动态随机存储器DRAM。
9.权利要求1.中所述的单芯片系统,其特征在于RAM一部分采用采用静态随机存储器SRAM,一部分采用动态随机存储器DRAM。
10.权利要求1中所述的单芯片系统,其特征在于接口模块采用一个总线控制器,使用符合工业标准的总线与这里所说的单芯片系统之外的电路或系统接口。
11.权利要求1.中所述的单芯片系统,其特征在于接口模块采用一个总线控制器,使用这里所说的单芯片系统专有的数据总线、地址总线和控制总线与这里所说的单芯片系统之外的电路或系统接口。
12.权利要求1.中所述的单芯片系统,其特征在于接口模块采用一个或者多个有线的通信接口,与这里所说的单芯片系统之外的电路或系统接口。
13.权利要求1.中所述的单芯片系统,其特征在于接口模块采用一个或者多个无线的通信接口,与这里所说的单芯片系统之外的电路或系统接口。
14.权利要求1.中所述的单芯片系统,其特征在于本系统能够装载和运行Linux操作系统。
15.权利要求1.中所述的单芯片系统,其特征在于本系统能够装载和运行Windows CE操作系统。
16.权利要求1.中所述的单芯片系统,其特征在于本系统能够装载和运行两种或两种以上操作系统。
17.能够装载和运行特定操作系统的单芯片系统,其特征在于该系统包括两个或两个以上权利要求1.中所述的单芯片系统和仲裁和控制单元;仲裁和控制单元,用于控制各个单芯片的微处理器系统使它们协同工作。
全文摘要
能够装载和运行特定操作系统的单芯片系统由一个微处理器模块、随机存取存储器RAM、只读存储器ROM102和接口模块组成,ROM、RAM、接口模块通过芯片内部总线与微处理器模块相接,单芯片系统集成在一个集成电路片基或芯片上。在使用时,无须其它外围器件如存储器。芯片复位之后,微处理器模块将特定操作系统和用户的应用程序转移或者解压缩到随机存取存储器RAM中运行,也可以在只读存储器中ROM中直接运行。
文档编号G06F9/445GK1375769SQ0110766
公开日2002年10月23日 申请日期2001年3月20日 优先权日2001年3月20日
发明者李燕新 申请人:珠海市万禾网络技术有限公司