处理器管理外部存储器的方法技术

技术编号:2869007 阅读:198 留言:0更新日期:2012-04-11 18:40
一种处理器管理外部存储器的方法包含:提供一地址转换器,使用该地址转换器将该单芯片的中央处理单元指向该外部存储器的页码及该页码内的地址转换为该外部存储器相对应的实体地址,以及使用该中央处理器存取该实体地址的数据。该外部存储器中仅包含一个公用区,该方法还包含将该单芯片的中央处理单元指向该外部存储器的页码及该页码内的公用区的地址对应至该外部存储器的公用区的实体地址。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术提供一种存储器管理的方法,尤指一种。
技术介绍
MCS(Micro Computer System)是Intel公司对微处理器的总称,而其所开发的MCS-31/32及51/52系列的微处理器更是普遍地应用在工业界中。一般而言,微处理器只含有少量的存储器及输入输出点,以MCS-51系列的单芯片为例,它有4K位组的程序存储器、128位组的数据存储器以及32条输入输出点,MCS-52系列的微处理器则是将程序存储器增加为8K位组,以及将数据存储器增加为256位组,而MCS-31/32及51/52系列的单芯片同样是使用一个8位的中央处理单元。程序存储器是用来存放使用者所撰写的程序,属于只读存储器(ROM),数据存储器则是随机存取存储器(RAM),可供中央处理单元运行时读取或写入数据,通常是用来当程序执行时暂时存放数据的暂存器。MCS-31/32及51/52系列的微处理器都可以由外部扩充存储器,最大可扩充至64K位组。然而在一些应用之中,使用者可能会需要撰写很大的程序码或是使用很大的阵列表,如此一来64K位组的外部扩充程序存储器仍然不够使用。存储库切换(bank switch)是一种可以将存储器大幅扩充的方法,使用单芯片上多出的接脚作为解码线来对超过64K位组的存储器作定址,若外部存储器是一个大容量的存储器装置,则多出的接脚可以直接作为地址线,若外部存储器是多个小容量的存储器装置,则多出的接脚可用来选择存储器芯片。由于单芯片最大的外部扩充存储器为64K位组,所以可用64K位组作为存储库切换的基本单位,称为一个页(page)。存储库切换最大的问题在于中断向量表(interrupt vector table)配置的地址,因为中断向量表通常会放在存储器中某个特定的地址,虽然程序在运行时可以在各个页作切换,但是当中断发生时,程序会立刻在所在页中的特定地址去寻找中断向量表,而且此时程序并无法作存储库切换,当程序找不到中断向量表时,便会产生错误。一般解决这个问题的方法,便是在每个存储库中都保留一公用区(common area),公用区中存储中断向量表、中断服务例程(interrupt serviceroutine)、通用函式库以及存储库切换所需的数据,所以不论程序运行在哪一个页,当程序发生中断时,程序都可以于所在的页中找到中断向量表继续程序的执行。请参考图1,图1为公知外部程序存储器12配置的示意图。MCS-51/52系列的单芯片使用存储库切换的方式在外部扩充512K位组的存储器12,分为8个页,每个页为64K位组,并保留一定大小(例如10K位组)的公用区用来存放中断向量表、中断服务例程、通用函式库以及存储库切换所需的数据。举例来说,当在第一页的程序需要呼叫第二页的程序时,会立即跳至公用区,接着存储库设定例程会设定所需存储库的页码,因为对于单芯片而言,在公用区中改变页码并不会影响任何数据的地址,接着单芯片就可以依据设定的页码存取第二页中所需的程序。于第二页的程序处理完毕之后,程序会先回到公用区中,由存储库设定例程将页码切换回原来的存储库,再回到第一页中原来程序的地址继续执行程序。由上述可知,公知MCS-51/52系列的单芯片所提供的程序存储器,最大只能利用扩充外部程序存储器至64K位组,但是通过存储库切换的技巧,使用单芯片上多出的接脚,可以再将外部程序存储器作大幅的扩充,但是存储库切换有个缺点,就是每个存储库之中都必须保留一部分的空间作为公用区,用来存放中断向量表、中断服务例程、通用函式库以及存储库切换所需的数据,而这些数据会复制并存储在每个存储库的公用区之中,如此一来,存储器的空间便无法有效地被利用。
技术实现思路
因此本专利技术的主要目的是提供一种,以解决上述问题。本专利技术提供一种包含(a)提供一地址转换器;(b)使用该地址转换器将该处理器的中央处理单元指向该外部存储器的页码及该页码内的地址转换为该外部存储器相对应的实体地址;以及(c)使用该中央处理器存取该实体地址的数据。该方法还包含将单一个公用区存入该外部存储器以及将该处理器的中央处理单元指向该外部存储器的页码及该页码内的公用区的地址对应至该外部存储器的公用区的实体地址。附图说明图1为公知外部程序存储器配置的示意图。图2为本专利技术单芯片连接外部程序存储器的示意图。图3为本专利技术外部程序存储器配置的示意图。附图标号说明12外部程序存储器20单芯片22外部程序存储器24地址转换器具体实施方式请参考图2,图2为本专利技术单芯片20连接外部程序存储器22的示意图。本专利技术在单芯片之中加设一地址转换器24,用来转换存储器的配置方式,由于存储库交换的存储器配置方式在每一个存储库之中都必须保留一公用区来存储中断向量表、中断服务例程、通用函式库以及存储库切换所需的数据,相当耗费存储器空间,本专利技术的单芯片20利用地址转换器24将每一存储库中的公用区都对应到同一个公用区之中,如此便可将原本存储库中公用区的空间节省下来存储其它的数据。使用地址转换器24来重新配置存储器可以更有效地利用存储器,而节省下来的存储器空间则配置于其它的存储库之中,举例来说,原本使用存储库交换只能配置成8个存储库的存储器空间,使用地址转换器将存储器重新配置之后,可以得到9个或更多存储库,多出的存储库就是节省各个存储库中公用区所得到的空间。地址转换器24将单芯片20的端口0-2(P0,P1,P2)转换为定址接脚(A23-0),而图2中的AD7-0则是用来读取存储器的数据,由于存储器在重新配置后可能会多出多个存储库,所以地址转换器24在单芯片20的内部会多使用多只虚拟的接脚来与中央处理单元沟通,用来对多出的存储库作定址。此外,于实施时,单芯片20内部另外设有一切换装置(图未示),可由使用者自行切换是否使用连接地址转换器24,以得到较佳的使用弹性。请参考图3,图3为本专利技术外部程序存储器22配置的示意图。假设在存储库交换的存储器配置方式中,每一个存储库皆需要保留10K位组的存储器空间作为公用区,由于单芯片20的外部存储器22的最大可定址范围是64K位组,所以一个512K位组的存储器可分成8页,而每一页的大小为64K位组,扣掉10K位组的公用区,每一页可以使用的空间为54K位组,因为公用区重覆在每一页之中,所以浪费了10K*(8-1)=70K位组的存储器空间。为了更有效的利用存储器空间,重新配置存储器的使用空间,如图3所示,512K位组的存储器22中仅包含一个10K位组的公用区,通常配置在存储器22的最低地址,当中央处理单元在任何一个存储库中执行到公用区时,地址转换器24便会将该位置对应到这块区域,所以新的存储器配置方式每一页的最大空间为54K位组,共用分成9页,第0页至第8页各为54K位组,第9页为16位组,而第8页及第9页就是存储器重新配置后所节省下来空间。在本实施例中,单芯片20使用端口0及端口2共16只接脚以及端口1的P1.0、P1.1、P1.2三只接脚来对512K位组的存储器22作定址,通常存储库交换会使用端口0及端口2来定址一个64K位组的存储库,而端口1的三只接脚则用来作为存储库的页码选择,而本实施例则是利用这19只接脚直接对512K位组的存储器22的实体地址作定址,再通过地址转换器24将存储库交换的存储器配本文档来自技高网
...

【技术保护点】
一种处理器管理外部存储器的方法,其包含:    (a)提供一地址转换器;    (b)使用该地址转换器将该处理器的一中央处理单元指向该外部存储器的一页码及该页码内的地址转换为该外部存储器相对应的一实体地址;以及    (c)使用该中央处理器存取该实体地址的数据。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:庄承德吴元丁杜立群
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1