[发明专利]多核异构系统指令存储单元的动态分配方法无效
申请号: | 201110386145.6 | 申请日: | 2012-02-15 |
公开(公告)号: | CN102566973A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 胡越黎;黄俊凉;孙斌;周俊;刘廷尧;虞超;王龙杰 | 申请(专利权)人: | 上海大学 |
主分类号: | G06F9/34 | 分类号: | G06F9/34 |
代理公司: | 上海上大专利事务所(普通合伙) 31205 | 代理人: | 何文欣 |
地址: | 200444*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 系统 指令 存储 单元 动态分配 方法 | ||
技术领域
本发明涉及一种多核异构系统指令存储单元的动态分配方法,对象主要针对于多核异构系统的多处理器共用同一块指令存储单元(code memory),现在应用在MV12多核异构系统上,也可应用于其他类似多核异构系统。
背景技术
多核异构系统存储单元的动态分配方法是为解决MV12多核异构系统指令存储单元的分配而提出的。本课题组研发的MV12多核异构系统是由一个32位宽的MV11处理器再加两个8位宽的MV10处理器整合而成。MV11是课题组以ARM9为内核,扩展存储管理单元(MEMC, memory controller)等其他模块得到的微处理器。MV11经过流片验证,兼容ARM v5指令体系。MV10是课题组自主研发的,经过硅验证的8位MCU,兼容INTEL 8051指令集,一个机器周期只有四个时钟周期。MV12系统通过AMBA2.0协议把两个MV10处理器(其中一个去除了ADC功能)和MV11整合到一起,形成一个多核异构系统。
此多核异构系统以AMBA作为片上通信协议,分为两部分系统,高速的AHB系统和低速的APB系统。其中MV11处理器和去掉ADC模块的MV10微处理器(命名为MV10_2)挂载在AHB总线上。另一个MV10微处理器(命名为MV10_1)挂载在APB系统当做子处理器。MV10_1只能访问本地存储单元,而AHB总线上的MV11和MV10_2能通过AHB总线访问系统存储单元。
此多核异构系统指令存储单元是一块片外ROM,MV10_2和MV11共用此片外ROM。MV10_2和MV11的程序分别存储在片外ROM的不同区域。此系统默认的设计是MV10_2和MV11分别占用固定大小的ROM空间。MV12片外ROM总大小是256K,默认设计是MV10和MV11各配置128K的指令存储空间。不过因为MV11是以ARM9为内核的处理器,功能比较强,可以运行操作系统,所以其程序复杂度可大可小,可能造成固定空间还不足装下一个复杂程序。这时候我们希望MV10_2和MV11共用的ROM可以根据MV11或者MV10_2的程序大小动态分配。
现在多核系统非常普遍,大到CPU和GPU整合到一起形成庞大的APU,小到工控领域,多个MCU的系统板。多核系统共用存储单元经常遇到,比如共用数据存储单元,共用指令存储单元,动态内存分配等,所以存储单元的动态分配问题会比较普遍。
发明内容
本发明的目的在于针对已有技术存在的缺陷,提供一种多核异构系统指令存储单元的动态分配方法:通过软件编程,能够以固定单元大小动态配置MV11和MV10_2相互的指令存储空间大小。
为达到上述目的,本发明的构思是:
软件编程动态配置就是通过系统中某一个微处理器程序对系统硬件进行重配置。其中对系统硬件重配置的微处理器命名为系统主控处理器,其他接受配置的处理器命名为非主控处理器。
所谓固定单元大小就是指动态分配是以1K存储空间为单位,而不能分割出更小的存储空间。这一准则我们定义为最小固定单元为1K准则。最小固定单元为1K的准则有两层含义:
1. 烧录起始地址要和1K空间对齐。
2. 程序占用不满1K时,占用1K的空间。
含义1指明要地址对齐,所以烧录起始地址只能是0K,1K,2K…255K,而不能从0.5K,或者256Byte等类似的地址开始烧录。含义2表示当程序末尾只占用了1K空间中的极少部分,即使是一个字节或者一个字,此1K空间也不能再被另一个处理器的程序占用。
根据以上构思,本发明采用以下技术方案:
一种多核异构系统指令存储单元的动态分配方法,其特征在于:多核系统中的一个处理器—命名为系统主控处理器,从一个固定地址开始指令寻址,而其他处理器—称为非主控处理器,指令寻址必须加上一个偏移地址,而偏移地址由一个特殊功能寄存器经过某种计算得到,所述特殊功能寄存器的值由系统主控处理器编程写入,其具体步骤:
a. 多核异构系统统一编址:以实现系统主控处理器能寻址到包括非主控处理器在内的所有物理空间;
b. 在非主控处理器空间定义一个特殊功能寄存器HWSx, 存储软件编程设定的偏移地址;
c. 设定一个AHB接口模块,连接非主控处理器与AHB总线,并且根据软件编程设定的偏移值计算实际指令存储单元地址;
d. 多核处理器编程。系统主控处理器程序开头为各非主控处理器定义偏移地址;
e. 编译程序并按软件编程地址烧录;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110386145.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可防止灰尘附着的按键结构
- 下一篇:钐钴毛坯的成型方法