发明名称 |
嵌入式系统中将数组分配到片上可控存储器的方法 |
摘要 |
本发明公开了一种嵌入式系统中将数组分配到片上可控存储器的方法。本发明是利用了在嵌入式系统中通过编译方式将程序的数组分配到嵌入式处理器上的片上可控存储器中,从而能够利用片上可控存储器低延迟和低能耗的特点。本发明实现了嵌入式系统中将数组分配到片上可控存储器的方法,有利于降低嵌入式系统中程序运行的能耗,提高程序运行的效率。 |
申请公布号 |
CN100501645C |
申请公布日期 |
2009.06.17 |
申请号 |
CN200710157187.6 |
申请日期 |
2007.11.27 |
申请人 |
浙江大学 |
发明人 |
陈天洲;胡威;谢斌;张楠 |
分类号 |
G06F1/32(2006.01)I;G06F9/45(2006.01)I;G06F12/00(2006.01)I |
主分类号 |
G06F1/32(2006.01)I |
代理机构 |
杭州求是专利事务所有限公司 |
代理人 |
林怀禹 |
主权项 |
1. 嵌入式系统中将数组分配到片上可控存储器的方法,其特征在于:1)记录程序中的数组的信息:对程序的源代码进行初次编译,获取程序中数组的信息,对于程序,这些信息分别包括:程序中的数组的个数,用常数n表示,由于程序编写完成后,在编译时数组的个数不会再变化,因此程序中数组的个数用常数表示;数组的名称,用变量a表示;数组的大小,表示在程序中,某一数组a的大小,用Size(a)表示,即数组a的大小;Size(a)的值越大,表示数组a的大小越大;数组的生命周期,表示在程序中,某一数组a的生命周期,用LT(a)表示,即数组a的生命周期;LT(a)的值越大,表示数组a的生命周期越长;数组的访问次数,表示在程序中,某一数组a在a的生命周期当中,访问的次数,用AT(a)表示;AT(a)的值越大,表示数组a的访问次数越多;2)对数组进行排序:按照数组的访问次数、数组的生命周期和数组的大小对数组进行排序;排序后形成有序的数组序列是一个升序的排序队列,用Seq_P()表示,即程序中,全部数组的排序结果为Seq_P();对于升序的数组序列Seq_P()中,对于数组a,定义Seq_P(a)为数组a在升序的数组序列Seq_P()中的位置,Seq_P(a)的值是一个整数值:Seq_P(a)=i,i是正整数;同时,i值也表示了数组在程序中的权值,i值越大表示该数组在程序中的权越高,说明了数组在程序中的重要性;3)确认片上可控存储器的大小:通过确认目标嵌入式处理器,为编译器提供片上可控存储器的大小的信息;4)确定分配到片上可控存储器上的数组:分配到片上可控存储器上的数组满足条件:对于分配到片上可控存储器上的L个数组同时,目标嵌入式处理器的片上可控存储器的大小标记为M;综合不等式(1)和不等式(2)就可以确定分配到片上可控存储器上的数组;5)通过重编译将数组分配到片上可控存储器:在重编译的过程中,步骤4)中确定的分配到片上可控存储器上的数组将被编译器分离出来,将这些数组的地址编入片上可控存储器地址,该步骤采用通用的编译分配方法。 |
地址 |
310027浙江省杭州市西湖区浙大路38号 |