CN108182036B - 一种多芯片系统存储实现装置及方法 - Google Patents

一种多芯片系统存储实现装置及方法 Download PDF

Info

Publication number
CN108182036B
CN108182036B CN201810052776.6A CN201810052776A CN108182036B CN 108182036 B CN108182036 B CN 108182036B CN 201810052776 A CN201810052776 A CN 201810052776A CN 108182036 B CN108182036 B CN 108182036B
Authority
CN
China
Prior art keywords
chip
storage
navigation positioning
main
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810052776.6A
Other languages
English (en)
Other versions
CN108182036A (zh
Inventor
袁涛
高劲松
李艳芬
赵修齐
姜黎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201810052776.6A priority Critical patent/CN108182036B/zh
Publication of CN108182036A publication Critical patent/CN108182036A/zh
Application granted granted Critical
Publication of CN108182036B publication Critical patent/CN108182036B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例提供了一种多芯片系统存储实现装置及方法,装置包括主芯片、导航定位芯片、第一存储芯片和第二存储芯片。主芯片上设置有第一存储控制器、第二存储控制器、第一外部接口收发控制器、第一控制接口和第一数据接口。第一存储控制器内设置有第一存储保护单元,第二存储控制器内设置有第二存储保护单元。第一存储芯片与主芯片的第一存储控制器连接;第二存储芯片与主芯片的第二存储控制器连接;导航定位芯片上设置有第二外部接口收发控制器、第二控制接口和第二数据接口,第二控制接口与主芯片的第一控制接口连接,第二数据接口与主芯片的第一数据接口连接,本申请实现了共享存储系统,节约了芯片资源。

Description

一种多芯片系统存储实现装置及方法
技术领域
本申请涉及芯片技术领域,尤其涉及一种多芯片系统存储实现装置及方法。
背景技术
BDS(BeiDou Navigation Satellite System,中国北斗卫星导航系统)是中国自行研制的全球卫星导航系统。利用北斗芯片可接收由BDS发射的信号,从而完成定位导航功能。随着BDS的不断完善,北斗芯片的应用也越来越广泛。在一种包含北斗芯片的多芯片系统中,主芯片用于完成整个系统调度和功能,如SOC(System-on-a-Chip,片上系统)芯片,一般具有较高性能的嵌入式处理器,需要运行嵌入式操作系统(Embeded OperatingSystem),具有现代计算机系统中典型的存储系统和存储层次结构。北斗芯片用于完成定位功能、存储定位信息并将定位信息通过通信接口传送给主芯片,一般也需要支持运行功能简单的嵌入式操作系统(或嵌入式控制程序),同样需要具备存储系统,用来存储操作系统(或嵌入式控制程序)和运行时数据。
现有技术中,主芯片通过外接可作为内存的第二存储芯片,如DRAM(DynamicRandom Access Memory,动态随机存取存储器)芯片来暂存软件程序和运行时数据,通过外接可作为外存的第一存储芯片,如Flash(闪存)芯片来存储需要掉电保存的引导程序、嵌入式操作系统、配置数据等,并在内部分别设置DRAM控制器和Flash控制器来控制存储。北斗芯片也通过外接DRAM芯片和Flash芯片来存储嵌入式操作系统(嵌入式控制程序)和运行时数据,并在内部分别设置DRAM控制器和Flash控制器来控制存储。
然而,在这种包含北斗芯片的多芯片系统中,主芯片设置有独立的存储系统:DRAM芯片、Flash芯片、DRAM控制器和Flash控制器,北斗芯片也设置有上述独立的存储系统,系统的整体成本较高;并且,北斗芯片对于存储嵌入式操作系统(或嵌入式控制程序)和运行时数据的需求较低,现有技术中为北斗芯片设置的存储系统利用较小,造成了芯片资源和系统设计空间的浪费。
发明内容
本申请提供了一种多芯片系统存储实现方法,以解决北斗芯片存储系统利用率较低的问题。
第一方面,本申请提供了一种多芯片系统存储实现装置,该装置包括:主芯片、导航定位芯片、第一存储芯片和第二存储芯片,其中,
所述主芯片上设置有第一存储控制器、第二存储控制器、第一外部接口收发控制器、第一控制接口和第一数据接口,所述第一外部接口收发控制器和第一数据接口连接,所述第一存储控制器内设置有第一存储保护单元,所述第二存储控制器内设置有第二存储保护单元;
所述第一存储芯片与所述主芯片的所述第一存储控制器连接;
所述第二存储芯片与所述主芯片的所述第二存储控制器连接;
所述导航定位芯片上设置有第二外部接口收发控制器、第二控制接口和第二数据接口,所述第二控制接口与所述主芯片的所述第一控制接口连接,所述第二数据接口与所述主芯片的所述第一数据接口连接。
优选地,所述北斗芯片上设置有缓存器,所述缓存器与所述第二外部接口收发控制器连接。
优选地,所述导航芯片为北斗芯片,所述第一存储芯片为Flash芯片,所述第二存储芯片为DRAM芯片,所述第一数据接口为SPI接口、USB等或接口总线中的任意一种。
第二方面,本申请提供了一种多芯片系统存储实现方法,该方法包括:
对与主芯片连接的第一存储芯片和第二存储芯片进行预划分,所述预划分包括将所述第一存储芯片划分为第一存储单元和第二存储单元,将所述第二存储芯片划分为第三存储单元和第四存储单元,其中,所述第一存储芯片存储有主芯片第一引导程序、主芯片第二引导程序、主芯片配置数据、导航定位芯片引导程序和导航定位配置数据;
将多芯片系统上电,控制所述主芯片离开复位状态以及控制导航定位芯片进入复位状态;
将所述主芯片第一引导程序复制到所述第二存储芯片内;
根据所述第二存储芯片内的主芯片第一引导程序,配置所述第一存储单元和第三存储单元供主芯片使用,配置所述第二存储单元和第四存储单元供导航定位芯片使用;
控制所述导航定位芯片停止复位;
根据所述主芯片第二引导程序和主芯片配置数据将所述主芯片进行初始化,所述导航定位芯片通过所述主芯片读取所述导航定位芯片引导程序和导航定位芯片配置数据,根据所述导航定位芯片引导程序和导航定位芯片配置数据进行初始化。
优选地,导航定位芯片通过所述主芯片读取所述导航定位芯片引导程序和导航定位芯片配置数据,根据所述导航定位芯片引导程序和导航定位芯片配置数据进行初始化,包括:
所述导航定位芯片通过所述主芯片将所述导航定位芯片引导程序和导航定位芯片配置数据读取到所述导航定位芯片的处理器内;
所述导航定位芯片将所述导航定位芯片引导程序和导航定位芯片配置数据,通过所述主芯片写入到所述第四存储单元;
所述导航定位芯片通过所述主芯片读取所述第四存储单元内的所述导航定位芯片引导程序和导航定位芯片配置数据,将所述导航定位芯片进行初始化。
优选地,通过所述主芯片写入到所述第四存储单元,包括:
将所述导航定位芯片引导程序和导航定位芯片配置数据写入到所述导航定位芯片的缓存器内;
将所述缓存器内的所述导航定位芯片引导程序和导航定位芯片配置数据写入到所述第四存储单元。
优选地,根据所述第二存储芯片内的主芯片第一引导程序,配置所述第一存储单元和第三存储单元供主芯片使用,配置所述第二存储单元和第四存储单元供导航定位芯片使用的配置方法包括:
利用第一存储控制器内设置的第一存储保护单元设置所述第一存储单元的访问权限为所述主芯片,设置所述第二存储单元的访问权限为所述导航定位芯片,其中,所述第一存储控制器设置在所述主芯片内;
利用第二存储控制器内设置的第二存储保护单元设置所述第三存储单元的访问权限为所述主芯片,设置所述第四存储单元的访问权限为所述导航定位芯片,其中,所述第二存储控制器设置在所述主芯片内。
优选地,所述方法还包括:
利用所述第二存储控制器内设置的第二存储保护单元检测访问所述第二存储芯片的访问命令,其中,所述访问命令包括命令来源CPU标识和访问地址,判断所述命令来源CPU标识是否具有所述访问地址的访问权限;
如果没有访问权限,则发送错误状态到所述访问命令对应的命令来源CPU。
优选地,判断所述命令来源CPU标识是否具有所述访问地址的访问权限,包括:
判断所述访问地址是否位于第三存储单元的最后一个存储地址之后;
如果位于所述最后一个存储地址之后,则判断所述命令来源CPU标识是否与所述第四存储单元的访问权限匹配;
如果不匹配,则判定没有访问权限。
优选地,所述导航定位芯片为北斗芯片,所述第一存储芯片为Flash芯片,所述第二存储芯片为DRAM芯片;
所述导航定位芯片的数量为多个,所述第二存储单元的数量和第四存储单元的数量均与所述导航定位芯片的数量相同。
本申请提供的多芯片系统存储实现装置及方法的有益效果包括:
本申请提供的多芯片系统存储实现装置,通过将导航定位芯片共享主芯片的存储系统,在导航定位芯片外部不需要连接供导航定位芯片单独使用的第一存储芯片和第二存储芯片,在导航定位芯片内部不需设置相应的第一存储控制器和第二存储控制器,简化了导航定位芯片的结构,有效减小了芯片的设计难度,提高多芯片系统的集成化水平。本申请提供的多芯片系统存储实现方法,通过将主芯片连接的第一存储芯片和第二存储芯片分别划分出第二存储单元和第四存储单元供导航定位芯片使用,使导航定位芯片不需要单独连接第一存储芯片和第二存储芯片,解决了导航定位芯片需要设置单独的存储系统,导航定位芯片的存储系统利用率较低的问题。在将第一存储芯片和第二存储芯片进行配置完成之前将导航定位芯片进行复位,避免了导航定位芯片无法进行存储导致不能正常运行的问题;在配置完第一存储芯片和第二存储芯片后控制导航定位芯片停止复位,导航定位芯片可通过主芯片对第二存储单元和第四存储单元内进行读写,有效实现了数据存储和读取。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种多芯片系统存储实现装置的结构示意图;
图2为本申请实施例提供的一种多芯片系统存储实现方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供了一种多芯片系统存储实现装置,应用于多芯片系统,参见图1,为本申请实施例提供的一种多芯片系统存储实现装置的结构示意图,如图1所示,多芯片系统存储实现装置包括主芯片4、导航定位芯片20、第一存储芯片10和第二存储芯片7。
本实施例中,导航定位芯片20为北斗芯片,当然,也可为其他具有导航定位功能的芯片,如GPS芯片等。第一存储芯片10为Flash芯片,第一存储控制器13为Flash控制器,第二存储芯片7为DRAM芯片,第二存储控制器3为DRAM控制器。当然,第一存储芯片10和第二存储芯片7也可为其他存储芯片,第一存储控制器13和第二存储控制器3为相应的存储控制器。
具体的,主芯片4内设置有第一总线桥2和与第一总线桥2连接的第一嵌入式微处理器1、第一外部接口收发控制器14、DRAM控制器和Flash控制器。主芯片4通过第二管脚5与DRAM芯片的第一管脚6连接,主芯片4通过第六管脚12与Flash芯片的第五管脚11连接。主芯片4上还设置有第一控制接口23和第一数据接口15,其中,第一控制接口23为第三管脚,第一数据接口15为第七管脚。
DRAM控制器内设置有第一存储保护单元8,本实施例中,DRAM控制器内设置的第一存储保护单元为第一MPU(Memory Protection Unit,存储保护单元),可控制主芯片4或北斗芯片对DRAM芯片的访问。
Flash控制器内设置有第二存储保护单元9,本实施例中,Flash控制器内的存储保护单元为第二MPU,可控制主芯片4或北斗芯片对Flash芯片的访问。
北斗芯片内设置有第二总线桥18和与第二总线桥18连接的缓存器21、第二外部接口收发控制器17和第二嵌入式微处理器19。北斗芯片上还设置有第二控制接口22和第二数据接口16,其中,第二控制接口22为第四管脚,第二数据接口16为第八管脚。第四管脚与主芯片4的第三管脚连接,北斗芯片的第八管脚与主芯片4的第七管脚连接。北斗芯片和主芯片4相连接的管脚包括但不限于一般的具有数据传输功能的接口,如SPI、USB等或其他自定义的专用接口总线。
对于上述多芯片系统存储实现装置,本实施例提供了一种多芯片系统存储实现方法,具体包括以下步骤:
步骤S110:对与主芯片连接的第一存储芯片和第二存储芯片进行预划分,预划分包括将第一存储芯片划分为第一存储单元和第二存储单元,将第二存储芯片划分为第三存储单元和第四存储单元,其中,第一存储芯片存储有主芯片第一引导程序、主芯片第二引导程序、主芯片配置数据、导航定位芯片引导程序和导航定位配置数据。
具体的,本实施例中,第一存储芯片10为Flash芯片,当然,也可为其他能够存储需要掉电保存的引导程序、嵌入式操作系统、配置数据等内容的存储器,例如外置SD卡等。第一存储单元的存储空间大小和第二存储单元的存储空间大小可根据主芯片4和北斗芯片的存储需求进行定义,通常情况下,主芯片4的存储需求大于北斗芯片的存储需求,将第一存储单元的存储空间定义为大于第二存储单元的存储空间,有利于提高Flash芯片的利用率。当然,也可定义为第一存储单元的存储空间大小与第二存储单元的存储空间大小相同。
在主芯片4上电之前,将主芯片第一引导程序、主芯片第二引导程序和主芯片配置数据存储至第一存储单元,将北斗芯片引导程序和北斗芯片配置数据存储至第二存储单元。
第二存储芯片7为DRAM芯片,也可为其他可供主芯片4或北斗芯片暂存软件程序和运行时数据的芯片。DRAM芯片的第三存储单元和第四存储单元的定义方法与Flash芯片的定义方法相同,在此不再赘述。
步骤S120:将多芯片系统上电,控制主芯片离开复位状态以及控制导航定位芯片进入复位状态。
具体的,将多芯片系统上电,使主芯片4和北斗芯片上电,主芯片4的第三管脚一直输出复位信号,北斗芯片的第四管脚接收复位信号后发送给第二嵌入式式微处理器19,第二嵌入式式微处理器19根据复位信号使北斗芯片一直处于复位状态。由于此时DRAM芯片和Flash芯片的存储管理尚未配置,因此,将北斗芯片置于复位状态,能够避免北斗芯片工作异常。
步骤S130:将主芯片第一引导程序复制到第二存储芯片内。
具体的,主芯片4上电后离开复位状态,通过第一嵌入式微处理器1发出复制主芯片第一引导程序的命令,复制主芯片第一引导程序的命令经过第一总线桥2到达Flash控制器。Flash控制器根据复制主芯片第一引导程序的命令,通过第六管脚12和第五管脚11,读取Flash芯片内第一存储单元存储的主芯片第一引导程序A1_BOOT,将主芯片第一引导程序A1_BOOT经过第一总线桥2发送到第一嵌入式微处理器1。
将第一嵌入式微处理器1内的主芯片第一引导程序A1_BOOT,经第一总线桥2发送到DRAM控制器,利用DRAM控制器将主芯片第一引导程序A1_BOOT拷贝到DRAM芯片的第三存储单元内。
步骤S140:根据第二存储芯片内的主芯片第一引导程序,配置第一存储单元和第三存储单元供主芯片使用,配置第二存储单元和第四存储单元供导航定位芯片使用。
具体的,主芯片4读取并执行第三存储单元中的主芯片第一引导程序A1_BOOT。本实施例中,执行的结果是配置DRAM芯片和Flash芯片。其中,对DRAM芯片的配置过程包括:利用DRAM控制器内设置的第一MPU设置第三存储单元的访问权限为主芯片4,设置第四存储单元的访问权限为北斗芯片,具体可对第三存储单元的存储地址与第四存储单元的存储地址的地址界限进行设置,例如,将地址界限之前的存储地址访问权限设置为主芯片4,将地址界限之后的存储地址访问权限设置为北斗芯片,配置完毕后,第一MPU只需根据来自北斗芯片或主芯片4的访问命令中,访问地址与地址界限的关系,判断访问命令中的命令来源CPU标识(北斗芯片或主芯片4)是否有访问权限。
利用Flash控制器内设置的第二MPU设置第一存储单元的访问权限为主芯片4,设置第二存储单元的访问权限为北斗芯片,第一存储芯片的配置方法与第二存储芯片相同,在此不再赘述。
步骤S150:控制导航定位芯片停止复位。
具体的,主芯片4将第三管脚的复位信号取消,使得北斗芯片的第四管脚不再接收到复位信号,北斗芯片的第二嵌入式微处理器19控制北斗芯片离开复位状态,由于北斗芯片已经上电,离开复位状态后,北斗芯片将开始启动。
步骤S160:根据主芯片第二引导程序和主芯片配置数据将主芯片进行初始化,导航定位芯片通过主芯片读取导航定位芯片引导程序和导航定位芯片配置数据,根据导航定位芯片引导程序和导航定位芯片配置数据进行初始化。
具体的,主芯片4利用第一嵌入式微处理器1发出运行主芯片第二引导程序的命令,其中,运行主芯片第二引导程序的命令内包含命令来源CPU标识为主芯片4,包含访问地址为第一存储单元的存储地址,包含命令内容为将第一存储单元内的主芯片第二引导程序A2_BOOT和主芯片配置数据移动至第三存储单元,对主芯片第二引导程序A2_BOOT进行译码并执行译码结果。运行主芯片第二引导程序的命令经过第一总线桥2到达Flash控制器。Flash控制器的第二MPU根据运行主芯片第二引导程序的命令中,访问地址小于地址界限,命令来源CPU标识为主芯片4,判定本次数据访问为合法访问后,Flash控制器通过第六管脚12和第五管脚11,读取Flash芯片内第一存储单元存储的主芯片第二引导程序A2_BOOT和主芯片配置数据,将主芯片第二引导程序A2_BOOT、主芯片配置数据和运行主芯片第二引导程序的命令经过第一总线桥2发送到第一嵌入式微处理器1,再经第一总线桥2发送至DRAM控制器。DRAM控制器的第一MPU根据运行主芯片第二引导程序的命令中,访问地址小于地址界限,命令来源CPU标识为主芯片4,判定本次数据访问为合法访问后,DRAM控制器通过第二管脚5和第一管脚6,将主芯片第二引导程序A2_BOOT和主芯片配置数据写入到DRAM芯片内第三存储单元。然后执行第三存储单元内的主芯片第二引导程序A2_BOOT,以对主芯片4进入初始化,并引导主芯片4的嵌入式操作系统运行,最终运行嵌入式软件。
北斗芯片在步骤S150停止复位后进行启动,启动过程如下:
北斗芯片通过与主芯片4连接的外部接口将北斗芯片引导程序和北斗芯片配置数据读取到北斗芯片的处理器内;北斗芯片将处理器内的北斗芯片引导程序和北斗芯片配置数据,通过外部接口写入到第四存储单元;北斗芯片通过外部接口读取第四存储单元内的北斗芯片引导程序和北斗芯片配置数据,将北斗芯片进行初始化。
具体的,北斗芯片的第二嵌入式微处理器19发出运行北斗芯片引导程序的命令,其中,运行北斗芯片引导程序的命令内包含命令来源CPU标识为北斗芯片,包含访问地址为第二外存空间的存储地址,包含命令内容为将第二存储单元内的北斗芯片引导程序B_BOOT和北斗芯片配置数据移动至第四存储单元,对北斗芯片引导程序B_BOOT进行译码并执行译码结果。
运行北斗芯片引导程序的命令经过第二总线桥18到达第二外部接口收发控制器17,再经北斗芯片的第八管脚、主芯片4的第七管脚到达主芯片4,其中,第八管脚和第七管脚分别为北斗芯片和主芯片4的外部接口管脚。
主芯片4的第一外部接口收发控制器14将运行北斗芯片引导程序的命令经第一总线桥2发送至Flash控制器,Flash控制器的第二MPU根据运行北斗芯片引导程序的命令中,访问地址大于地址界限,命令来源CPU标识为北斗芯片,判定本次数据访问为合法访问后,Flash控制器通过第六管脚12和第五管脚11,读取Flash芯片内第二存储单元存储的北斗芯片引导程序B_BOOT和北斗芯片配置数据,将北斗芯片引导程序B_BOOT、北斗芯片配置数据和运行北斗芯片引导程序的命令经过第一总线桥2发送到第一外部接口收发控制器14,再经第七管脚发送至北斗芯片的第八管脚、第二外部接口收发控制器17、第二总线桥18到达第二嵌入式微处理器19,第二嵌入式微处理器19将北斗芯片引导程序B_BOOT和北斗芯片配置数据依次经过第二总线桥18、第二外部接口收发控制器17、第八管脚、第七管脚、第一外部接口收发控制器14、第一总线桥2发送至DRAM控制器。
DRAM控制器的第一MPU根据运行北斗芯片引导程序的命令中,访问地址大于地址界限,命令来源CPU标识为北斗芯片,判定本次数据访问为合法访问后,DRAM控制器通过第二管脚5和第一管脚6,将北斗芯片引导程序B_BOOT和北斗芯片配置数据写入到DRAM芯片内第四存储单元。进一步的,由于第二嵌入式微处理器19的处理速度较快,而第八管脚的数据传输速度较慢,因此,第二外部接口收发控制器17对第二嵌入式微处理器19与第八管脚的数据传输速度进行平衡,一部分北斗芯片引导程序B_BOOT和北斗芯片配置数据会被临时暂存在缓存器中。然后执行第二内存内存单元内的北斗芯片引导程序B_BOOT,以对北斗芯片进行初始化a,并引导北斗芯片的嵌入式操作系统运行,最终运行嵌入式软件。
进一步的,在主芯片4和北斗芯片均进入各自的嵌入式操作系统运行,运行嵌入式软件后,本申请实施例提供的多芯片系统存储实现方法还包括DRAM芯片非法操作及存储保护、Flash芯片非法操作及存储保护。其中,DRAM芯片非法操作及存储保护包括以下步骤:
利用DRAM控制器内设置的第一MPU检测访问第二存储芯片的访问命令,其中,访问命令包括命令来源CPU标识和访问地址,判断命令来源CPU标识是否具有访问地址的访问权限;如果没有访问权限,则发送错误状态到主芯片4内的外部接口控制器,外部接口控制器将错误状态发送到北斗芯片的外部接口。
当北斗芯片上运行的程序访问专属于主芯片4的第三存储单元时,DRAM控制器内设置的第一MPU检测到访问命令中的命令来源CPU标识为北斗芯片,访问地址为第三存储单元,判断没有访问权限,返回错误状态到北斗芯片的第二嵌入式微处理器19。
进一步的,北斗芯片的第二嵌入式微处理器19根据错误状态判定为发生异常,暂停当前程序执行,转入北斗芯片的异常处理程序。异常处理程序开始处理该异常。
异常处理完毕后,返回异常发生前的程序继续执行。如果主芯片4上运行的程序访问专属于北斗芯片的第二内存空间,按照同样的流程,主芯片4的嵌入式微处理器会发生异常,并由主芯片4的异常处理程序来进行处理。
Flash芯片非法操作及存储保护与DRAM空间非法操作的处理流程类似,检测非法操作的模块为Flash控制器的第二MPU模块,具体处理过程不再赘述。
本实施例中提供了一个北斗芯片和主芯片4共享存储系统的实现方法和包含北斗芯片的多芯片系统,在包含多个北斗芯片的多芯片系统中也可利用本方案,具体可将第二存储单元的数量和第四存储单元的数量设置为与北斗芯片的数量相同。
由以上实施例可见,本申请提供的多芯片系统存储实现装置及方法,通过将主芯片连接的DRAM芯片和Flash芯片分别划分出第四存储单元和第二存储单元供北斗芯片使用,使北斗芯片不需要单独连接DRAM芯片和Flash芯片,解决了北斗芯片需要设置单独的存储系统,北斗芯片的存储系统利用率较低的问题。主芯片上电后执行引导过程,配置DRAM控制器和Flash控制器中各自的MPU,对共享存储空间进行划分。在将DRAM芯片和Flash芯片进行配置完成之前将北斗芯片进行复位,避免了北斗芯片无法进行存储导致不能正常运行的问题;在配置完Flash芯片和DRAM芯片后控制北斗芯片停止复位,北斗芯片可通过外部接口对第四存储单元和第二存储单元内进行读写。利用本申请提供的多芯片系统存储实现方法,通过将北斗芯片与主芯片共享存储系统,在北斗芯片外部不需要连接供北斗芯片单独使用的DRAM芯片和Flash芯片,在北斗芯片内部不需设置DRAM控制器和Flash控制器,简化了北斗芯片的结构,有效减小了芯片的设计难度,提高多芯片系统的集成化水平。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。

Claims (10)

1.一种多芯片系统存储实现装置,其特征在于,包括:主芯片(4)、导航定位芯片(20)、第一存储芯片(10)和第二存储芯片(7),其中,
所述主芯片(4)上设置有第一存储控制器(13)、第二存储控制器(3)、第一外部接口收发控制器(14)、第一控制接口(23)和第一数据接口(15),所述第一外部接口收发控制器(14)和第一数据接口(15)连接,所述第一存储控制器(13)内设置有第一存储保护单元(9),所述第二存储控制器(3)内设置有第二存储保护单元(8);
所述第一存储芯片(10)与所述主芯片(4)的所述第一存储控制器(13)连接;
所述第二存储芯片(7)与所述主芯片(4)的所述第二存储控制器(3)连接;
所述导航定位芯片(20)上设置有第二外部接口收发控制器(17)、第二控制接口(22)和第二数据接口(16),所述第二控制接口(22)与所述主芯片(4)的所述第一控制接口(23)连接,所述第二数据接口(16)与所述主芯片(4)的所述第一数据接口(15)连接;
所述第一存储芯片(10)包括第一存储单元和第二存储单元,所述第二存储芯片(7)包括第三存储单元和第四存储单元,所述第一存储保护单元(9)将所述第一存储单元的访问权限配置为所述主芯片(4),将所述第二存储单元的访问权限配置为所述导航定位芯片(20),所述第二存储保护单元(8)将所述第三存储单元的访问权限配置为所述主芯片(4),将所述第四存储单元的访问权限配置为所述导航定位芯片(20)。
2.如权利要求1所述的多芯片系统存储实现装置,其特征在于,所述导航定位芯片(20)上设置有缓存器(21),所述缓存器(21)与所述第二外部接口收发控制器(17)连接。
3.如权利要求1所述的多芯片系统存储实现装置,其特征在于,所述导航定位芯片(20)为北斗芯片,所述第一存储芯片(10)为Flash芯片,所述第二存储芯片(7)为DRAM芯片,所述第一数据接口(15)为SPI接口、USB接口或接口总线中的任意一种。
4.一种多芯片系统存储实现方法,其特征在于,包括:
对与主芯片连接的第一存储芯片和第二存储芯片进行预划分,所述预划分包括将所述第一存储芯片划分为第一存储单元和第二存储单元,将所述第二存储芯片划分为第三存储单元和第四存储单元,其中,所述第一存储芯片存储有主芯片第一引导程序、主芯片第二引导程序、主芯片配置数据、导航定位芯片引导程序和导航定位配置数据;
将多芯片系统上电,控制所述主芯片离开复位状态以及控制导航定位芯片进入复位状态;
将所述主芯片第一引导程序复制到所述第二存储芯片内;
根据所述第二存储芯片内的主芯片第一引导程序,配置所述第一存储单元和第三存储单元供主芯片使用,配置所述第二存储单元和第四存储单元供导航定位芯片使用;
控制所述导航定位芯片停止复位;
根据所述主芯片第二引导程序和主芯片配置数据将所述主芯片进行初始化,所述导航定位芯片通过所述主芯片读取所述导航定位芯片引导程序和导航定位芯片配置数据,根据所述导航定位芯片引导程序和导航定位芯片配置数据进行初始化。
5.如权利要求4所述的多芯片系统存储实现方法,其特征在于,导航定位芯片通过所述主芯片读取所述导航定位芯片引导程序和导航定位芯片配置数据,根据所述导航定位芯片引导程序和导航定位芯片配置数据进行初始化,包括:
所述导航定位芯片通过所述主芯片将所述导航定位芯片引导程序和导航定位芯片配置数据读取到所述导航定位芯片的处理器内;
所述导航定位芯片将所述导航定位芯片引导程序和导航定位芯片配置数据,通过所述主芯片写入到所述第四存储单元;
所述导航定位芯片通过所述主芯片读取所述第四存储单元内的所述导航定位芯片引导程序和导航定位芯片配置数据,将所述导航定位芯片进行初始化。
6.如权利要求5所述的多芯片系统存储实现方法,其特征在于,通过所述主芯片写入到所述第四存储单元,包括:
将所述导航定位芯片引导程序和导航定位芯片配置数据写入到所述导航定位芯片的缓存器内;
将所述缓存器内的所述导航定位芯片引导程序和导航定位芯片配置数据写入到所述第四存储单元。
7.如权利要求4所述的多芯片系统存储实现方法,其特征在于,根据所述第二存储芯片内的主芯片第一引导程序,配置所述第一存储单元和第三存储单元供主芯片使用,配置所述第二存储单元和第四存储单元供导航定位芯片使用的配置方法包括:
利用第一存储控制器内设置的第一存储保护单元设置所述第一存储单元的访问权限为所述主芯片,设置所述第二存储单元的访问权限为所述导航定位芯片,其中,所述第一存储控制器设置在所述主芯片内;
利用第二存储控制器内设置的第二存储保护单元设置所述第三存储单元的访问权限为所述主芯片,设置所述第四存储单元的访问权限为所述导航定位芯片,其中,所述第二存储控制器设置在所述主芯片内。
8.如权利要求7所述的多芯片系统存储实现方法,其特征在于,所述方法还包括:
利用所述第二存储控制器内设置的第二存储保护单元检测访问所述第二存储芯片的访问命令,其中,所述访问命令包括命令来源CPU标识和访问地址,判断所述命令来源CPU标识是否具有所述访问地址的访问权限;
如果没有访问权限,则发送错误状态到所述访问命令对应的命令来源CPU。
9.如权利要求8所述的多芯片系统存储实现方法,其特征在于,判断所述命令来源CPU标识是否具有所述访问地址的访问权限,包括:
判断所述访问地址是否位于第三存储单元的最后一个存储地址之后;
如果位于所述最后一个存储地址之后,则判断所述命令来源CPU标识是否与所述第四存储单元的访问权限匹配;
如果不匹配,则判定没有访问权限。
10.如权利要求4所述的多芯片系统存储实现方法,其特征在于,
所述导航定位芯片为北斗芯片,所述第一存储芯片为Flash芯片,所述第二存储芯片为DRAM芯片;
所述导航定位芯片的数量为多个,所述第二存储单元的数量和第四存储单元的数量均与所述导航定位芯片的数量相同。
CN201810052776.6A 2018-01-19 2018-01-19 一种多芯片系统存储实现装置及方法 Active CN108182036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810052776.6A CN108182036B (zh) 2018-01-19 2018-01-19 一种多芯片系统存储实现装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810052776.6A CN108182036B (zh) 2018-01-19 2018-01-19 一种多芯片系统存储实现装置及方法

Publications (2)

Publication Number Publication Date
CN108182036A CN108182036A (zh) 2018-06-19
CN108182036B true CN108182036B (zh) 2021-05-11

Family

ID=62551071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810052776.6A Active CN108182036B (zh) 2018-01-19 2018-01-19 一种多芯片系统存储实现装置及方法

Country Status (1)

Country Link
CN (1) CN108182036B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101455A (zh) * 2018-08-01 2018-12-28 湖南国科微电子股份有限公司 共享存储系统与基于共享存储系统的待执行程序读写方法
CN109254728B (zh) * 2018-08-21 2021-09-21 广东九联科技股份有限公司 一种多主芯片融合性产品的存储优化方法及系统
CN112395242B (zh) * 2020-11-30 2024-01-30 重庆紫光华山智安科技有限公司 多芯片控制方法、装置、电子设备和计算机可读存储介质
CN116595594A (zh) * 2023-05-19 2023-08-15 无锡摩芯半导体有限公司 一种基于ucb的flash的安全控制方法
CN116955241B (zh) * 2023-09-21 2024-01-05 杭州智灵瞳人工智能有限公司 兼容多类型存储介质的存储芯片

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN203397484U (zh) * 2013-08-30 2014-01-15 湖州沃武网络科技有限公司 基于gps网络的交通事故自动报警系统
US9627014B2 (en) * 2013-12-17 2017-04-18 Marvell World Trade Ltd. Multiple port shared memory
CN104215245A (zh) * 2014-09-23 2014-12-17 重庆华渝电气集团有限公司 一种用于动中通的导航系统的导航计算机电路及处理方法
CN106502959B (zh) * 2016-11-16 2019-09-13 湖南国科微电子股份有限公司 主芯片与北斗芯片共享内存的结构及系统级封装、pcb板

Also Published As

Publication number Publication date
CN108182036A (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
CN108182036B (zh) 一种多芯片系统存储实现装置及方法
US10860332B2 (en) Multicore framework for use in pre-boot environment of a system-on-chip
US20080072031A1 (en) System Embedding Plural Controller Sharing NonVolatile Memory
US9250920B2 (en) Initializing processor cores in a multiprocessor system
CN109800032B (zh) Bootrom多核加载方法及装置
CN114090498B (zh) 一种嵌入式soc系统实现多核启动与业务的相互解耦方法
US20110161644A1 (en) Information processor
CN111913822B (zh) 一种基于amp架构的核间通信方式
CN114817105A (zh) 设备枚举的方法、装置、计算机设备以及存储介质
US10176131B1 (en) Controlling exclusive access using supplemental transaction identifiers
CN113642006A (zh) 双核继电保护系统安全启动方法
CN111522602A (zh) 通信装置的启动方法
US9417884B2 (en) Method for enabling calibration during start-up of a micro controller unit and integrated circuit therefor
EP0522582B1 (en) Memory sharing for communication between processors
US8799625B2 (en) Fast remote communication and computation between processors using store and load operations on direct core-to-core memory
US20230342503A1 (en) Security Isolation Apparatus and Method
US20150177816A1 (en) Semiconductor integrated circuit apparatus
EP2979170B1 (en) Making memory of compute and expansion blade devices available for use by an operating system
CN115905099A (zh) 同构双计算系统的处理器和同构双计算系统的操作方法
US20180239627A1 (en) Dynamic guest controlled halt polling
US10817461B2 (en) Distributed microcontroller
JP2016026345A (ja) メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止
US9223585B2 (en) Data processing device with serial bus that needs initialization before use
EP2979171A1 (en) Identifying memory of a blade device for use by an operating system of a partition including the blade device
WO2016053146A1 (ru) Компьютерная система

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant