单芯片多处理器共享数据存储空间的访问方法

文档序号:6572879阅读:253来源:国知局

专利名称::单芯片多处理器共享数据存储空间的访问方法
技术领域
:本发明涉及一种单芯片多处理器共享数据存储空间的访问方法。可应用于MCS-51指令体系的多处理器系统,亦可应用于其它多微控制器、多微处理器等领域。
背景技术
:共享数据存储器(SharedDataMemory)是多处理器用来存放共享数据的一段存储空间,各子处理器可以从这段空间内读出待处理的数据,也可以把被特定处理过后的数据写入这段空间。单芯片多处理器通过在一个芯片上集成多个微处理器核来提高程序的并行性。每个微处理器核实质上都是一个相对简单的单线程微处理器或者比较简单的多线程微处理器,多个这样子处理器并行地执行程序代码,具有较高的指令级并行性。单芯片多处理器结构巳成为提高微处理器性能的重要途径。虽然多处理器利用集成度提高带来的诸多好处,让芯片的性能成倍地增加,但明显是原来系统级的一些问题便引入到了处理器内部。例如多处理器的构成是同构还是异构的?并且核本身结构,关系到整个芯片的面积、功耗和性能;怎样继承和发展传统处理器的成果,直接影响多核的性能和实现周期。此外,多核处理器的设计瓶颈是程序执行模型的选择,而程序执行模型的适用性决定多核处理器能否以最低的代价提供最高的性能。当目标机器是多核体系结构时,多核体系结构如何支持重要的程序执行模型?是否有其他的程序执行模型更适于多核的体系结构?这些程序执行模型能多大程度上满足应用的需要并为用户所接受?现行多核处理器多采用非对称的异构结构,主要由一个处理器核心和多个辅助处理器构成。在上电复位时主处理器核心必须对辅助处理器进行初始化处理;多核的各处理器之间通过AMBA、Wishbone和Avalon等片上总线连接,并对单一内存空间的共享。现行单芯片多处理器的这种结构的缺点是硬件结构复杂;软件改动较大;处理器和数据存储器的速度差距大。此外,现行多核结构采用的片上总线结构不仅仅是一种总线,而是一种带有接口模块的互连体系,且AMBA和Avalon总线没有真正意义上的完全公开。由于基于IntelMCS-51架构的子处理器是应用极为广泛的一类处理器,使用历史悠久,有丰富的第三方支持软件和仿真工具,为广大工程师所熟悉。因此如能在既不改变指令体系又不占用外部通用I/O口的情况下,各个子处理器即可独立工作又可协同工作,并能有效地解决各子处理器之间数据交换中的竞争问题,将大大提高多处理器的性能和资源利用率。
发明内容本发明的目的在于提供一种单芯片多处理器共享数据存储空间的访问方法,在不占用外部通用I/O口又不改变指令系统的情况下,由多个微控制器来共同完成系统的数据处理、任务控制工作,以便将低成本、应用广泛的基于MCS-51架构微控制器应用于需要大量复杂算法的高端系统中。为达到上述目的,本发明采用下述技术方案一种单芯片多处理器共享数据存储空间的访问方法,基于MCS-51体系,其特征在于在不占用外部通用I/O口又不改变指令系统的情况下,由多个微控制器来共同完成系统的数据处理、任务控制工作将各子处理器核内高128字节(80hFFh)数据空间共享,用于单芯片多处理器之间命令和数据的传输;并在各子处理器中增加了一个共享数据存储器中断SDMI夕卜,把SDMI和仲裁器有效的结合起来,作为共享数据存储器访问机制,用于解决各子处理器之间数据交换中存在的竞争;整个单芯片多处理器对共享数据存储器的访问只是通过一个仲裁器判决,并通过中断的方式实现的;仲裁器遵循先申请先访问的优先级原则;对于同时申请的子处理器总裁器遵循先低地址子处理器先访问,高地址子处理器后访问的原则;各子处理器与仲裁器之间的握手信号采用片内总线方式,其传输速度快、占用资源少便于集成与控制;各子处理器既独立工作,或与其他子处理器协同工作;每个子处理器核实质上都是一个相对简单的单线程微处理器,多个这样子处理器并行地执行程序代码,具有较高的指令级并行性。其具体步骤为1.定义共享数据空间;2.设置一仲裁器模块,用于4个子处理器与共享数据存储器的控制和连接;3.在各子处理器增加一个共享数据存储器中断(SharedDataMemoryInterrupt,SDMI),用于各子处理器对共享存储器的访问;4.根据SDMI中断的定义,设定共享数据存储器访问控制寄存器(SDMC0N),用于定义SDMI工作状态;5.各子多处理器与仲裁器件间接口的定义。上述共享数据空间具体定义如下将各子处理器核内高128字节数据空间设为共享数据存储空间,这个共享数据空间的数据总线和地址总线采用子处理器核内数据总线和地址总线,其寻址空间为80hFFh。由于该地址与各子处理器核内特殊功能地址冲突,各子处理器只能采用寄存器间接寻址的方式访问共享数据存储器,采用直接寻址和位寻址的方式读写特殊功能寄存器。上述仲裁器模块具体设计内容如下仲裁器由访问扫描单元、仲裁处理控制单元、接口开关转换单元和一个缓冲区(异步先进先出FIFO)四个部分组成。仲裁器处理过程分成两个过程,分别是扫描处理过程和仲裁处理过程。扫描处理过程由访问扫描单元独立完成,访问扫描单元主要有三个作用a)采样各子处理器对共享存储器访问的申请信息;b)判断优先权;C)将申请访问的处理器地址存入FIFO。扫描处理过程中,仲裁器遵循两个原则a)先申请先访问;b)同时申请,低地址子处理器优先级高于高地址子处理器。仲裁器将申请访问共享数据存储器的子处理器地址存入FIFO中。仲裁器仲裁处理过程是由仲裁处理控制单元和接口转换单元协同完成,主要负责从FIFO中取出某个子处理器地址,并根据该子处理器地址,返回一个中断使能信号,并将共享数据存储单元访问权交给该子处理器。仲裁处理控制单元实际上是一个有限状态机,用于控制仲裁处理过程中的操作节拍。这个状态机有IDLE,FETCH和BUSY三个状态组成IDLE状态是一个初始状态,表示当前没有子处理器访问共享数据存储器;FETCH是一个取子处理器地址状态,它主要负责从FIFO中取出子处理器地址信息并加以判断;BUSY是一个忙的状态,它表示某一子处理器正在访问共享数据存储器,结束这个状态需要访问处理器返回一个访问结束信号。接口开关转换单元是根据仲裁处理控制单元的状态和输出控制共享数据存储器的接口分别与各子处理器的内部数据存储器的接口的连接。上述共享数据存储器中断具体步骤如下SDMI中断釆用下降沿触发方式,并在程序存储器中设有固定中断入口地址(0033H),当子处理器釆样到仲裁器返回的SDMI中断使能信号后,硬件自动形成入口地址,并由此地址进入访问共享数据存储器中断服务程序。共享数据存储器控制寄存器(SDMCON)用于中断控制;另有中断优先级管理寄存器(IP)中bit6位PSM用于设置共享存储器中断的优先级别。上述设定共享数据存储器访问控制寄存器(SDMCON)方法如下SMCON为8位寄存器,这里只定义了3位,可以位操作,复位时为xxxxx000,地址为F8H。<table>tableseeoriginaldocumentpage8</column></row><table>各位意义具体说明如下ESM:SDMI的中断允许位,必须与中断总控制开关EA结合使用,只有在EA和ESM同时为逻辑1时才允许相应SDMI中断。SMAPP:SDMI的中断访问标志位。子处理器采样到中断使能信号下降沿后将SMAPP置1;当子处理器响应该中断后并进入中断服务程序,硬件自动清除SMAPP标志位。SMDONE:SDMI的中断返回标志位。当子处理器检测到中断下降沿时,SMDONE与SMAPP同时置l;但在子处理器进入中断服务程序后,硬件不会对SMDONE标志位自动清零,由软件对其置0,因此,该标志位必须在SDMI中断服务程序返回前清除,用于通知仲裁器控制释放对共享存储器的访问权。上述子处理器与仲裁器件间接口的具体定义如下ACCESS一APPLY[X]:共享存储器访问申请信号,它是由在各子处理器的EA和ESM被同时设置成逻辑1后产生的一个脉冲。EN—ACCESS—N[X]:共享数据存储器访问允许信号,它同时也是SDMI中断使能信号。ACCESS一DONE[X]:处理器放回信号;它连接了SDMCON寄存器中的SMDONE信号。X:取值范围为0-3,分别对应了子处理器0子处理器3。SDMACCESSINTERFACE:共享数据存储器访问接口。本发明与现有技术相比较,具有如下显而易见的突出实质性的特点和显著优点本发明通过一个仲裁器将四个基于MCS-51架构的MCU连接起来,并将它们统一编址,使每一个处理器有一个自己的地址标号,组成一个单芯片多处理器系统。在不占用外部通用I/O口有不改变指令系统的情况下,由多个微处理器来共同完成多系统的数据处理、任务控制工作,以使低成本应用广泛的基于MCS-51架构微控制器应用于需要大量复杂算法的高端系统中。图l:单芯片多处理器结构框架图图2:仲裁器结构框架图图3:扫描处理过程流程成图图4:仲裁处理控制单元状态转移图图5:仲裁处理过程流程成图图6:中断处理流程图具体实施例方式本发明的一个优选实施例子结合附图详述如下整个单芯片多处理器对共享数据存储器的访问通过一个仲裁器判决,并通过中断的方式实现。各子处理器既可以独立工作,也可以与其他子处理器协同工作。每个微处理器核实质上都是一个相对简单的单线程微处理器,多个这样子处理器并行地执行程序代码,具有较高的指令级并行性。仲裁器与各子处理器之间的握手信号采用片内总线方式,具有传输速度快、占用资源少便于集成与控制等特点。单芯片多处理器框架图及其关键信号列表分别见图1和表2;各子处理器地址编号及优先权列表见表1。单芯片多处理器整体架构设计采用了下述方法实现。1.将基于MSC-51架构的寄存器传输级子处理器IP核打包,并将4个这样的子处理器核通过一个仲裁器的判决共享一个数据存储空间,组成一个单芯片多处理器系统。每个子处理器有自己的地址标号,既可以独立工作,又可以在不占用外部通用I/O口情况下协同工作。2.定义一个128字节的单口SRAM作为共享数据存储器,用于各子处理器之间的命令传输和数据交换,其寻址空间为80hFFh。3.定义各子处理器对共享数据存储器的访问接口。此访问接口包括共享数据存储器读写控制信号、数据总线和地址总线,这些接口信号与子处理器核内数据存储器接口是一致的,因此为避免共享数据存储器与各子处理器核内特殊功能寄存器地址重叠所引起的访问冲突,各子处理器通过一个仲裁器判决,并采用寄存器间接寻址的方式访问共享数据存储器。4.设计一仲裁器模块,用于4个子处理器与共享数据存储器的控制和连接;仲裁器主要有三个功能a)仲裁;b)缓冲;C)转换各子处理器对共享数据存储器的访问权。5.仲裁器通过返回一个SDMI中断信号EN_ACCESS—N[X]允许子处理器访问共享数据存储器,并将共享数据存储器的访问权交给已经获得访问批复的子处理器。6.各子处理器释放对共享数据存储器的访问权是通过设定SDMCON寄存器中SMDONE来产生ACCESS—DONE[X]实现的。总之,子处理器必须通过SDMI中断,采用寄存器间接寻址的方式对共享数据存储器进读写操作;并且退出在SDMI中断服务程序前必须软件清除SMDONE标志位。根据上述单芯片多处理器的具体实施,仲裁器在整个单芯片多处理器里所起的作用可以概括为"四个部分和两个过程"。仲裁器的四个部分为访问扫描单元、仲裁处理控制单元、接口开关转换单元和一个缓冲区(异步先进先出FIFO)四个部分组成,图2给出了仲裁器结构框架图;两个处理过程分别为扫描处理过程和仲裁处理过程。两个处理过程以FIFO为界,往FIFO中存入地址之前的操作为扫描处理过程;从FIFO中取出处理器地址信息之后的操作为仲裁处理过程,图3和图5分别给出了扫描处理过程和仲裁处理过程的工作流程图。^扫描处理过程由访问扫描单元独立完成,访问扫描单元主要有三个作用a)采样各子处理器对共享存储器访问的申请信息,即表2中ACCESS—APPLY[X]信号是否有上升沿到达;b)判断优先权;c)将申请访问的子处理器地址存入FIFO。在扫描处理过程中,访问扫描单元不停扫描ACCESS—APPLY[X]信号;有上升沿到达时,访问扫描单元做出判断并将有上升沿到来的信号所对应的子处理器的地址存入缓冲区。整个扫描处理过程中遵循两个基本的优先原则a)先申请先访问,b)对同时申请的子处理器,按表l定义的优先级别先处理低地址的子处理器,后处理高地址的子处理器。对于仲裁处理过程有如下的几个定义1.仲裁处理过程由仲裁处理控制单元和接口转换单元协同完成,2.仲裁处理过程作用是主要负责从缓冲区中取出子处理器地址,并根据该子处理器地址,返回一个中断使能信号,并将共享数据存储单元访问权交给该子处理器。3.仲裁处理控制单元是一个有限状态机,用于控制仲裁处理过程中的操作节拍,图4给出了仲裁处理控制单元状态转移图。a)仲裁处理控制单元的有限状态机有IDLE,FETCH和BUSY三个状态组成;b)IDLE状态是一个初始状态,表示当前没有子处理器访问共享数据存储器;c)FIFO_EMPTY禾nACCESS—DONE—FLAG是这个状态机的转移条件信号FIFO_EMPTY=1表示仲裁器中异步先进先出(FIFO)中为空;ACCESS_DONE—FLAG二1表示了当前访问共享数据存储器的子处理器完成了访问操作。d)FETCH是一个取子处理器地址状态,它主要负责从FIFO中取出子处理器地址信息并加以判断;e)BUSY是一个忙的状态,它表示某一子处理器正在访问共享数据存储器,结束这个状态需要访问处理器返回一个访问结束信号。4.仲裁处理过程具体工作方式如下a)当单芯片多处理器上电或复位时,仲裁处理控制单元处于IDLE状态;b)当有子处理器申请访问共享存储器,访问扫描单元将申请访问的子处理器地址存入缓冲区时,FIFO不为空即FIFO_EMPTY=0,仲裁器转入FETCH状态,从FIFO中取出处理器地址;c)仲裁处理控制单元完成取地址操作后转入BUSY状态;d)仲裁处理控制单元不停地扫描ACCESS一DONE[X]信号,等待正在访问的子处理器完成对共享存储器的访问操作。并根据ACCESS—DONE[X]的状态使ACCESS—DONE—FLAG=1,控制仲裁处理控制单元跳出BUSY状态;当仲裁处理控制单元跳转出BUSY状态时,同时判断FIFO的状态,来决定下个状态的跳转方向当FIFO为空时,仲裁器恢复到IDLE状态;相反FIFO不为空时,仲裁器重新从FIFO中取处理器地址后,再次进入BUSY状态。f)接口开关转换单元是根据仲裁处理控制单元的状态和输出控制共享数据存储器的接口分别与各子处理器的内部数据存储器的接口的连接。当仲裁处理控制单元处于IDLE和FETCH状态时,接口开关转换单元将共享数据接口设置成高阻态;当仲裁处理控制单元处于BUSY状态时,接口开关转换单元将根据FETCH状态中所取出的子处理器地址下面分别从中断的定义和中断访问共享数据存储器两个方面SDMI中断设计思路。对SDMI中断硬件定义主要有下面几点1.SDMI中断采用下降沿触发方式;2.程序存储器中有固定中断入口地址(0033H);3.设置了SDMI控制寄存器(SDMCON),SMCON是一个8位寄存器,只定义了其中3位,可以位操作,复位时为xxxxxOOO,地址为F8H。其的具体定义如下<table>tableseeoriginaldocumentpage12</column></row><table>其中a)ESM为SDMI中断的允许位,必须与中断总控制开关EA结合使用,只有在EA和ESM同时为逻辑1时才允许相应SDMI中断。b)SMAPP为SDMI中断的访问标志位。子处理器采样到中断使能信号下降沿后将SMAPP置1;当处理响应该中断后并进入中断服务程序,硬件自动清除SMAPP标志位。c)SMDONE为SDMI中断的返回标志位。当子处理器探测到中断下降沿时,SMDONE与SMAPP同时置1;但在子处理器进入中断服务程序后,硬件不会对SMDONE标志位自动清零,必须软件对其置0,因此,该标志位必须在SDMI中断服务程序返回前清除,用于通知仲裁器控制释放对共享存储器的访问权。4.将中断优先级管理寄存器(IP)中bit6位定义成PSM,用于设置共享存储器中断的优先级别。各子处理器中断优先级为INTO—TO—INT1—T1—T2—INTO子处理器中断访问共享数据存储器具体工作流程见图6,其整个处理过程主要由申请访问共享数据存储器和访问共享数据存储器中断处理两个部分组成。其中,访问共享存储器中断处理过程又分为4个阶段SMDI中断请求,SMDI中断请求,SDMI中断处理,SDMI中断返回。某一子处理器如需要对共享数据存储器进行操作必须在主程序中设置本地EA和ESM,硬件将根据这两个标志位信号自动产生ACCESS—APPLY[X]访问申请信号给仲裁器,请求仲裁器对本地子处理器开放对共享数据存储器数据、地址和控制通路的选通。仲裁器接收到该申请信号后予以处理,仲裁批准后以下降沿的方式返回一个中断信号给己经批准访问共享数据存储空间的子处理器。获得该中断信号后,子处理器硬件自动将SMAPP和SMDONE标志位置1后,进入SDMI中断服务程序,同时硬件将SMAPP标志位自动清除。其中共享存储器件中断请求和访问共享存储中断处理过程由设计的硬件完成。访问中断服务程序则必须根据要求行编写程序,程序中要注意保护现场和恢复现场,对共享数据存储器的访问只能采用寄存器间接寻址的方式。在服务程序的最后需要软件对SMDONE置0,通知仲裁器释放本地处理器与共享数据存储器之间数据、地址和控制通路连接。访问共享存储器中断返回通过一条RETI中断返回指令,使堆栈中被压入的断点地址送PC,从而返回主程序的断点继续执行主程序。上述的表1为子处理器地址和优先权列表和表2为单芯片多处理器结构关键信号列表如下表l<table>tableseeoriginaldocumentpage13</column></row><table>表2<table>tableseeoriginaldocumentpage13</column></row><table>权利要求1.一种单芯片多处理器共享数据存储空间的访问方法,基于MCS-51体系,其特征在于在不占用外部通用I/O口又不改变指令系统的情况下,由多个微控制器来共同完成系统的数据处理、任务控制工作将各子处理器核内高128字节(80h~FFh)数据空间共享,用于单芯片多处理器之间命令和数据的传输;并在各子处理器中增加了一个共享数据存储器中断SDMI外,把SDMI和仲裁器有效的结合起来,作为共享数据存储器访问机制,用于解决各子处理器之间数据交换中存在的竞争;整个单芯片多处理器对共享数据存储器的访问只是通过一个仲裁器判决,并通过中断的方式实现的;仲裁器遵循先申请先访问的优先级原则;对于同时申请的子处理器总裁器遵循先低地址子处理器先访问,高地址子处理器后访问的原则;各子处理器与仲裁器之间的握手信号采用片内总线方式,其传输速度快、占用资源少便于集成与控制;各子处理器既独立工作,或与其他子处理器协同工作;每个子处理器核实质上都是一个相对简单的单线程微处理器,多个这样子处理器并行地执行程序代码,具有较高的指令级并行性;其具体步骤为1)定义共享数据空间;2)设置一仲裁器模块,用于4个子处理器与共享数据存储器的控制和连接;3)在各子处理器增加一个共享数据存储器SDMI中断,用于子处理器对共享存储器的访问;4)根据SDMI中断的定义,设定控制寄存器(SDMCON),用于定义SDMI控制中断工作状态;5)各子多处理器于仲裁器件间接口的定义。2.根据权利要求1所述单芯片多处理器共享数据存储空间的访问方法,其特征在于步骤1)共享数据存储空间的定义将各子处理器核内高128字节数据空间设为共享数据存储空间,这个共享数据空间的数据总线和地址总线采用子处理器核内数据总线和地址总线,其寻址空间为80hFFh。由于该地址与各子处理器核内特殊功能地址冲突,各子处理器只能采用寄存器间接寻址的方式访问共享数据存储器,采用直接寻址和位寻址的方式读写特殊功能寄存器。3.根据权利要求1所述单芯片多处理器共享数据存储空间的访问方法,其特征在于步骤2)仲裁器的结构如下仲裁器由访问扫描单元、仲裁处理控制单元、接口开关转换单元和一个缓冲区(异步先进先出FIFO)四个部分组成。仲裁器处理过程分成两个过程,它们分别是扫描处理过程和仲裁处理过程。两个处理过程以FIFO为界,往FIFO中存入地址之前的操作为扫描处理过程;从FIFO中取出处理器地址信息之后的操作为仲裁处理过程。扫描处理过程由访问扫描单元独立完成;仲裁器仲裁处理过程是由仲裁处理控制单元和接口转换单元协同完成。4.根据权利要求3所述单芯片多处理器共享数据存储空间的访问方法,其特征在于仲裁器中扫描处理过程的定义为访问扫描单元主要有三个作用a)采样各子处理器对共享存储器访问的申请信息;b)判断优先权;C)将申请访问的处理器地址存入FIFO;扫描处理过程中,仲裁器遵循两个原则a)先申请先访问;b)同时申请,低地址子处理器优先级高于高地址子处理器;仲裁器将申请访问共享数据存储器的子处理器地址存入FIFO中。5.根据权利要求3所述单芯片多处理器共享数据存储空间的访问方法,其特征在于仲裁器中仲裁处理过程的定义为仲裁器仲裁处理过程是由仲裁处理控制单元和接口转换单元协同完成,主要负责从FIFO中取出某个子处理器地址,并根据该子处理器地址,返回一个中断使能信号,并将共享数据存储单元访问权交给该子处理器;仲裁处理控制单元实际上是一个有限状态机,用于控制仲裁处理过程中的操作节拍;这个状态机有IDLE,FETCH禾QBUSY三个状态组成:IDLE状态是一个初始状态,表示当前没有子处理器访问共享数据存储器;FETCH是一个取子处理器地址状态,它主要负责从FIFO中取出子处理器地址信息并加以判断;BUSY是一个忙的状态,它表示某一子处理器正在访问共享数据存储器,结束这个状态需要访问处理器返回一个访问结束信号;接口开关转换单元是根据仲裁处理控制单元的状态和输出控制共享数据存储器的接口分别与各子处理器的内部数据存储器的接口的连接。6.根据权利要求1所述单芯片多处理器共享数据存储空间的访问方法,其特征在于步骤3)增加一个共享数据存储器SDMI中断为SDMI中断采用下降沿触发方式,并在程序存储器中设有固定中断入口地址0033H,当子处理器采样到仲裁器返回的SDMI中断使能信号后,硬件自动形成入口地址,并由此地址进入访问共享数据存储器中断服务程序。共享数据存储器控制寄存器SDMCON用于中断控制;另有中断优先级管理寄存器IP中bit6位PSM用于设置共享存储器中断的优先级别。7.根据权利要求6所述单芯片多处理器共享数据存储空间的访问方法,其特征在于在SDMI中断中对一个共享数据存储器访问控制寄存器SDMC0N的定义SMCON为8位寄存器,这里只定义了3位,可以位操作,复位时为xxxxx000,地址为F8H;各位具体定义如下ESM:SDMI的中断允许位,必须与中断总控制开关EA结合使用,只有在EA和ESM同时为逻辑1时才允许相应SDMI中断;SMAPP:SDMI的中断访问标志位。处理器采样到中断使能信号下降沿后将SMAPP置l;当处理响应该中断后并进入中断服务程序,硬件自动清除SMAPP标志位;SMDONE:SDMI的中断返回标志位;当子处理器探测到中断下降沿时,SMDONE与SMAPP同时置h但在子处理器进入中断服务程序后,硬件不会对SMDONE标志位自动清零,必须软件对其置0,因此,该标志位必须在SDMI中断服务程序返回前清除,用于通知仲裁器控制释放对共享存储器的访问权。8.根据权利要求6或7所述单芯片多处理器共享数据存储空间的访问方法,其特征在于通过SDMI中断访问共享数据存储器的步骤的定义为某一子处理器如需要对共享数据存储器进行操作必须在主程序中设置本地EA和ESM,硬件将根据这两个标志位信号自动产生ACCESS—APPLY[X]访问申请信号给仲裁器,请求仲裁器对本地子处理器开放对共享数据存储器数据、地址和控制通路的选通;仲裁器接收到该申请信号后予以处理,仲裁批准后以下降沿的方式返回一个中断信号给已经批准访问共享数据存储空间的子处理器;获得该中断信号后,子处理器硬件自动将SMAPP和SMDONE标志位置1后,进入SDMI中断服务程序,同时硬件将SMAPP标志位自动清除;其中共享存储器件中断请求和访问共享存储中断处理过程由设计的硬件完成;访问中断服务程序则必须根据要求行编写程序,程序中要注意保护现场和恢复现场,对共享数据存储器的访问只能采用寄存器间接寻址的方式。在服务程序的最后需要软件对SMDONE置0,通知仲裁器释放本地处理器与共享数据存储器之间数据、地址和控制通路连接;访问共享存储器中断返回通过一条RETI中断返回指令,使堆栈中被压入的断点地址送PC,从而返回主程序的断点继续执行主程序。9.根据权利要求1所述单芯片多处理器共享数据存储空间的访问方法,其特征在于子多处理器于仲裁器件间接口的定义为ACCESS_APPLY[X]:共享存储器访问申请信号,它是由在各子处理器的EA和ESM被同时设置成逻辑1后产生的一个脉冲;EN_ACCESS_N[X]:共享数据存储器访问允许信号,它同时也是SDMI中断使能信号;ACCESS_DONE[X]:处理器放回信号;它连接了SDMCON寄存器中的SMDONE信号X:取值范围为0-3,分别对应了P0-P3各子处理器;SDMACCESSINTERFACE:共享数据存储器访问接口。全文摘要本发明涉及一种单芯片多处理器共享数据存储空间的访问方法。本方法将各子处理器片内高128字节(80h~FFh)数据空间共享,用于多处理器之间命令和数据的传输;并在各子处理器中增加了一个共享数据存储器中断(SDMI)外,把SDMI和仲裁器有效的结合起来,作为共享数据存储器访问机制,用于解决各子处理器之间数据交换中存在的竞争。整个单芯片多处理对共享数据存储器的访问只是通过一个仲裁器判决,并通过中断的方式实现的。仲裁器与各子处理器之间的握手信号采用片内总线方式,其传输速度快、占用资源少便于集成与控制。各子处理器既可以独立工作,也可以与其他处理器协同工作。每个微处理器核实质上都是一个相对简单的单线程微处理器,多个这样子处理器并行地执行程序代码,具有较高的指令级并行性。本方法可应用于MCS-51指令体系的多处理器系统,亦可应用于其它多微控制器、多微处理器等领域。文档编号G06F13/18GK101187908SQ200710046539公开日2008年5月28日申请日期2007年9月27日优先权日2007年9月27日发明者峰冉,颖刘,频吴,宜祥光,胡越黎,陈应植申请人:上海大学;上海飞乐股份有限公司;上海沪工汽车电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1