CN1731369A - 扩展存贮空间的装置和随机访问方法 - Google Patents
扩展存贮空间的装置和随机访问方法 Download PDFInfo
- Publication number
- CN1731369A CN1731369A CN 200410070510 CN200410070510A CN1731369A CN 1731369 A CN1731369 A CN 1731369A CN 200410070510 CN200410070510 CN 200410070510 CN 200410070510 A CN200410070510 A CN 200410070510A CN 1731369 A CN1731369 A CN 1731369A
- Authority
- CN
- China
- Prior art keywords
- address
- counter
- decoding
- extension memory
- memory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 71
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
本发明公开了一种计算机领域中的扩展存贮空间装置和随机访问方法,所述装置包括微处理器、计数器、扩展存贮器、锁存器和译码/时序发生器、计数器,所述译码/时序发生器根据所述微处理器的命令,通过地址译码,得到数个端口地址,同时产生控制所述计数器和锁存器的信号;所述计数器的输出作为所述扩展存贮器的段内地址,所述扩展存贮器根据所述计数器的连续时钟计数进行地址的连续访问,所述锁存器同所述计数器一起向所述扩展存储器提供地址信号。本发明具有非常高的通用性,具有成本低廉、随机访问、快速方便、扩展空间不限等诸多优点,可以广泛应用于嵌入式系统中。
Description
技术领域
本发明涉及计算机领域,尤其涉及数字电路中存贮地址空间的扩展装置和方法。
背景技术
随着人们生活水平的日益提高,对于生活和生产中的各类设备的要求也逐渐提高,与之相对应的,越来越多的工业控制、医疗、通讯、消费等电子产品日趋智能化,以微处理器为核心的嵌入式系统随之得到日益广泛的应用。随着电子产品数据信息的数量不断膨胀、类型越来越多、功能应用日趋复杂,使得嵌入式系统的存贮空间急剧增大。比如在一个普通的手持终端上,可能需要集成汉字输入、记事本、数据查询等诸多功能,而这些功能的实现,都需要更大的存贮空间。
而一个不得不面对的现实是,虽然面临着大容量存储空间的现实需求,但是出于降低成本的考虑,工业控制、消费性等嵌入式产品往往采用低廉的微处理器,这些微处理器的数据和地址线一般较少,存贮空间十分有限,为实现大容量存储空间的需求,目前一般采用的方法主要有两种,一种是采用SPI(Serial Peripheral Interface,串行外设接口)、I2C(IntegratedInter Connect,集成内部互连)等串行接口存贮器,该方法只用2~4个端口线,资源占用少,但是由于串行访问速度较低,而且串行接口存贮器本身也是非通用器件,从而使得硬件成本大大提高;另外,存贮空间扩展有一定的地址限制,比如I2C最大只有7/10位寻址能力。另外一种方法是采用分组方式,通过端口线作为扩展的硬件地址线,来切换和选择不同的存贮器空间。一个典型例子是80C51分组扩展存贮空间的方法,由硬件端口P1作为扩展的硬件地址线,最多使用4根P1口线,来分组切换16个代码组,因此最大扩展的空间为16×64KB=1MB。但是该方法的缺点也非常明显,必须编译器支持、精心安排组间切换跳转表,否则很容易出错,使用非常不便;另外,扩展的寻址空间非常有限,也限制了该方法的更广泛应用。
发明内容
本发明要解决的技术问题是现有技术存在的速度慢、成本高、使用不方便、嵌入式系统存贮空间扩展有限等缺点,以期提出一种通用、低成本、随机访问、快速方便、不限扩展空间、可以广泛应用于嵌入式系统中的扩展存贮空间装置及随机访问方法。
本发明所构造的扩展存贮空间装置包括以下部分:微处理器(MCU)、计数器、扩展存贮器、锁存器和译码/时序发生器;都是现有的,而通常扩展存贮器的装置只需要微处理器和存贮器两个部分,并行扩展存贮器的数据/地址总线直接和微处理器相连;串行扩展存贮器通过几个I/O口线与处理器相连。
所述译码/时序发生器根据所述微处理器的命令,通过地址译码,得到数个端口地址,同时产生控制所述计数器和锁存器的信号;所述计数器的输出作为所述扩展存贮器的段内地址,所述扩展存贮器根据所述计数器的连续时钟计数进行地址的连续访问,所述锁存器的输出作为所述扩展存贮器的段地址,同所述计数器一起向所述扩展存储器提供地址信号。
这种装置以微处理器的地址线宽度来划分所述扩展存贮器的地址段(如果微处理器地址线宽为16,则每个地址段空间为216=64KB),同一地址段内可以连续访问;越段访问时重新设置地址段地址。
所述扩展存贮器通过唯一的端口地址访问,其地址信号线由所述计数器和锁存器输出;每次访问前均需要置访问起始地址,访问后所述计数器加一,使得所述扩展存贮器在下次访问时的地址自动加一。
本发明还提供了一种扩展存贮空间随机访问方法,其特征在于,包括以下步骤:
1)系统访问计数器清零的译码端口,对计数器清零;
2)访问段地址设置的译码端口,进行写操作,写入的数据就是预备访问扩展存贮器的段地址;
3)访问段内偏移地址的译码端口,进行写操作,写入的数据就是预备访问扩展存贮器段内的起始地址;
4)连续访问扩展存贮器,读出或者写入数据信息;
5)如果要访问非连续地址空间,重复步骤3)和4);如果越段访问,还需要重复步骤2)。
本发明通过地址译码的方式,锁存器输出高端地址信号线,计数器输出低端地址信号线,两者共同组成扩展存贮器的地址总线,计数器的连续计数保证了存贮器的连续访问。这样,只需要几个译码地址就可以实现扩展存贮空间的访问,方便解决了微处理器地址信号线不足导致存贮空间扩展的困难,不仅实现了扩展存贮空间的目的,而且还具有非常高的通用性,根据有成本低廉、随机访问、快速方便、扩展空间不限等诸多优点,可以广泛应用于嵌入式系统中。
附图说明
图1是本发明所述扩展存贮空间装置结构图。
图2是本发明所述扩展存贮空间随机访问方法流程图。
图3是作为本发明具体实施例的8051扩展存贮器结构框图。
具体实施方式
下面结合具体实施方式对本发明所述方法进行具体描述。本发明实际是一种通过端口寻址方式,利用计数器来扩展嵌入式系统存贮空间的方法。图1描述了本发明所述的装置,如图所示,MCU的地址、读/写等信号进入译码/时序发生器,产生地址锁存器片选、计数器清零、计数器使能、计数器时钟和存贮器片选等信号;地址锁存器片选信号进入锁存器,产生存贮器高位地址和计数器的预置数信号;计数器的预置数和计数器清零、计数器使能、计数器时钟信号共同控制计数器,保证了计数器输出存贮器的低位地址;存贮器高位地址、低位地址以及存贮器片选信号以及MCU的数据总线共同完成扩展存贮器的访问。通过计数器自动计数实现连续访问存贮器,避免了每次访问时都要设置访问地址的冗余操作,同时硬件的自动计数使得访问速度也能够大大提高。可以看出,译码/时序发生器是个关键,其逻辑关系不仅要正确无误,同时还要满足时序方面的要求,译码/时序发生器可以由门电路、GAL(Generic Array Logic,通用阵列逻辑)或者EPLD(Electrically Programmable Logic DeVice,电气可编程逻辑器件)等实现。另外,装置中的计数器也需要根据具体型号进行选择,如某种类型的计数器,只有当时钟信号的上升沿到达时,才执行清零或者预置数等相应的操作。当然,如果用户觉得越段访问比较麻烦,可以让扩展存贮器的高位地址信号也由计数器输出;这样,在扩展的全部存贮空间内都可以连续访问。这样操作的唯一代价就是需要增加一个计数器,该计数器需要和低位地址计数器进行级联。
图2是本发明所述实现扩展存贮器扩展随机访问方法的流程图,具体步骤描叙如下:
1、首先对计数器清零;
2、向段地址译码口写入要访问的存贮空间的段地址(即高位地址);
3、向段内地址译码口写入要访问的存贮空间的段内偏移地址(即低位地址);
4、访问此存贮空间;
5、如果访问完毕,就结束退出;否则继续下面的步骤;
6、判断下一次访问是否越段,如果越了段,跳转到步骤2继续执行;
7、判断下一次访问是否地址连续,如果不连续,跳转到步骤3继续执行;否则跳转到步骤4继续执行。
为了叙述方便,本发明以一个8位数据、16位地址的MCU系统为例,
具体说明如下:
1、译码/时序发生器输入的信号是MCU的读/写控制信号,以及地址总线,通过译码和时序控制发生,输出如下信号:
1)译码输出信号/CS1、/CS2,作为低16位地址锁存器的片选(这里假设锁存器为8位位宽,因此16位地址需要2个锁存器);高位地址(段地址)译码信号/CS4,作为高位地址锁存器的片选;
2)计数器译码信号/CS3,作为计数器的使能控制输入;计数器清零信号CLR;计数器时钟信号CLK;
3)扩展存贮器的译码信号/CS5,作为该扩展存贮器的片选输入。
2、低位地址锁存器输入的信号是/CS1和/CS2,以及MCU的地址和数据总线;输出16位的锁存信号,姑且称为ABCD,作为计数器的预置输入;
高地址锁存器输入的信号是/CS4,以及MCU的地址和数据总线;输出8位锁存信号SA16~SA23,作为扩展存贮器的高位地址线;
3、计数器有如下输入信号:
1)预置输入信号ABCD,用来设置初始计数器值;
2)计数器的使能控制/CS3,以便启动计数;
3)计数器清零信号CLR;
4)计数器时钟信号CLK。
输出信号为16位输出,姑且称为QABCD,作为扩展存贮器的低16位地址;
4、扩展存贮器有如下输入信号:
1)片选输入/CS5,是该扩展存贮器访问译码口;
2)低16位地址输入QABCD,高位地址输入SA16~SA23;
当然,还有MCU的数据总线作为输入/输出信号。
显然,如果扩展的存贮器不大于64KB,高地址锁存器是不需要的;当扩展存贮器大于64KB,就需要通过向/CS4译码端口写入不同的段地址数据,来选择不同的64KB段。上面的示例方法,扩展的存贮空间为64KB*28=16MB。显然,如果要继续扩展存贮空间,可以继续增加扩展存贮器高位地址译码端口;如果增加N个译码端口,将为扩展存贮器增加8*N根地址线,则存贮空间将扩展(28)N倍。采用这种方法,存贮空间可以无限扩展。
为叙述方便,假设有一个嵌入式设备,该设备是以8051单片机为核心的典型应用,键盘输入,液晶输出,具备拼音输入汉字的功能。需要对扩展存贮器进行扩展,用来存贮庞大的GB2312汉字字模库和拼音编码检索表。
由于8051单片机有8位数据线,16位地址线,最大寻址64KB的RAM空间和64KB的程序空间。因此,每一个段空间就是64KB,在64KB空间内可以连续访问,超过64KB就需要划分成不同的段。利用RAM的高端空间,作为扩展存贮器的译码地址,如地址0xFFF8-0xFFFF共8个端口地址,称之为端口0,端口1直到端口7。选用如下芯片:由EPLD实现译码/时序发生器,三片74573完成地址的锁存,4片74163级联作为16位的计数器,27C040作为扩展存贮器。
假设现在要读取27C040中0x20860处的字库信息。可以如此进行:
1)写端口4(段地址设置口)为数据0x02,即设置27C040段地址为0x02。
2)读取端口0(清零口),从EPLD输出的CLR信号使得计数器清零端有效,随后的CLK上沿信号完成计数器的清零。
3)段内偏移地址设置口的写入。写端口1为数据0x60,写端口2为数据0x08,从EPLD输出的/CS1、/CS2信号使得74245锁存输出0x0860,随后的CLK上沿信号完成计数器的预置。
4)写端口3(计数器使能口),从EPLD锁存输出的/CS3信号使得计数器使能。
5)连续读取端口5(扩展存贮器访问口)中32个字节的数据,就得到了某个汉字的字模信息。
其实,在多数情况下,步骤2实际上是不必要的,清零操作只是方便用户快速返回到段内0地址而已。扩展存贮器的原理图见图3所示。
Claims (7)
1、一种扩展存贮空间装置,包括以下部分:微处理器、计数器、扩展存贮器、锁存器和译码/时序发生器;其特征在于,还包括计数器,
所述译码/时序发生器根据所述微处理器的命令,通过地址译码,得到数个端口地址,同时产生控制所述计数器和锁存器的信号;所述计数器的输出作为所述扩展存贮器的段内地址,所述扩展存贮器根据所述计数器的连续时钟计数进行地址的连续访问,所述锁存器同所述计数器一起向所述扩展存储器提供地址信号。
2、根据权利要求1所述的扩展存贮空间装置,其特征在于,以所述微处理器的地址线宽度划分所述扩展存贮器的地址段,同一地址段内可以连续访问;越段访问时重新设置地址段地址。
3、根据权利要求1所述的扩展存贮空间装置,其特征在于,所述扩展存贮器通过唯一的端口地址访问,其地址信号线由所述计数器和锁存器输出。
4、根据权利要求1所述的扩展存贮空间装置,其特征在于,所述译码/时序发生器由门电路、通用阵列逻辑或者电气可编程逻辑器件等实现。
5、根据权利要求1所述的扩展存贮空间装置,其特征在于,所述计数包括一个高位地址计数器和低位地址计数器,二者之间进行级联,由所述高位地址计数器输出扩展存贮器的高位地址信号。
6、一种扩展存贮空间随机访问方法,其特征在于,包括以下步骤:
1)系统访问计数器清零的译码端口,对计数器清零;
2)访问段地址设置的译码端口,进行写操作,写入的数据就是预备访问扩展存贮器的段地址;
3)访问段内偏移地址的译码端口,进行写操作,写入的数据就是预备访问扩展存贮器段内的起始地址;
4)连续访问扩展存贮器,读出或者写入数据信息;
5)如果要访问非连续地址空间,重复步骤3)和4);如果越段访问,还需要重复步骤2)。
7、根据权利要求6所述的扩展存贮空间随机访问方法,其特征在于,扩展存贮器每次访问前均需要置访问起始地址,访问后计数器加一,使得扩展存贮器在下次访问时的地址自动加一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100705102A CN100517267C (zh) | 2004-08-05 | 2004-08-05 | 扩展存贮空间的装置和随机访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100705102A CN100517267C (zh) | 2004-08-05 | 2004-08-05 | 扩展存贮空间的装置和随机访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1731369A true CN1731369A (zh) | 2006-02-08 |
CN100517267C CN100517267C (zh) | 2009-07-22 |
Family
ID=35963727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100705102A Expired - Lifetime CN100517267C (zh) | 2004-08-05 | 2004-08-05 | 扩展存贮空间的装置和随机访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100517267C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452262B (zh) * | 2008-12-24 | 2011-07-13 | 中兴通讯股份有限公司 | 一种基于计数器的输出扩展方法、装置及其应用系统 |
CN103180817A (zh) * | 2012-07-02 | 2013-06-26 | 杭州华为数字技术有限公司 | 存储扩展装置及服务器 |
CN104881373A (zh) * | 2014-12-05 | 2015-09-02 | 中国航空工业集团公司第六三一研究所 | 一种扩展存储器访问空间的方法 |
WO2015172419A1 (zh) * | 2014-05-12 | 2015-11-19 | 上海大学 | 一种计算机系统及数据读写方法 |
CN106339327A (zh) * | 2015-07-06 | 2017-01-18 | 上海大学 | 一种计算机系统及刀片式服务器机箱 |
CN107783909A (zh) * | 2016-08-24 | 2018-03-09 | 华为技术有限公司 | 一种内存地址总线扩展方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10108364B2 (en) | 2015-06-26 | 2018-10-23 | Nxp Usa, Inc. | IC module and method of decoding resource access requests |
-
2004
- 2004-08-05 CN CNB2004100705102A patent/CN100517267C/zh not_active Expired - Lifetime
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452262B (zh) * | 2008-12-24 | 2011-07-13 | 中兴通讯股份有限公司 | 一种基于计数器的输出扩展方法、装置及其应用系统 |
CN103180817A (zh) * | 2012-07-02 | 2013-06-26 | 杭州华为数字技术有限公司 | 存储扩展装置及服务器 |
WO2014005261A1 (zh) * | 2012-07-02 | 2014-01-09 | 杭州华为数字技术有限公司 | 存储扩展装置及服务器 |
US9053252B2 (en) | 2012-07-02 | 2015-06-09 | Huawei Technologies Co., Ltd. | Storage expansion apparatus and server |
CN103180817B (zh) * | 2012-07-02 | 2015-09-30 | 杭州华为数字技术有限公司 | 存储扩展装置及服务器 |
WO2015172419A1 (zh) * | 2014-05-12 | 2015-11-19 | 上海大学 | 一种计算机系统及数据读写方法 |
CN105095095A (zh) * | 2014-05-12 | 2015-11-25 | 上海大学 | 一种计算机系统及数据读写方法 |
CN105095095B (zh) * | 2014-05-12 | 2018-04-06 | 上海大学 | 一种计算机系统及数据读写方法 |
CN104881373A (zh) * | 2014-12-05 | 2015-09-02 | 中国航空工业集团公司第六三一研究所 | 一种扩展存储器访问空间的方法 |
CN104881373B (zh) * | 2014-12-05 | 2017-10-24 | 中国航空工业集团公司第六三一研究所 | 一种扩展存储器访问空间的方法 |
CN106339327A (zh) * | 2015-07-06 | 2017-01-18 | 上海大学 | 一种计算机系统及刀片式服务器机箱 |
CN107783909A (zh) * | 2016-08-24 | 2018-03-09 | 华为技术有限公司 | 一种内存地址总线扩展方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100517267C (zh) | 2009-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1731369A (zh) | 扩展存贮空间的装置和随机访问方法 | |
WO2014169690A1 (zh) | 一种地址映射处理的方法、装置 | |
CN100357870C (zh) | 对挂接在片外单总线上的多种存储器进行访问的方法 | |
CN2682480Y (zh) | 一种集成在芯片内的spi同步串行通讯接口电路 | |
CN1333947A (zh) | 低功率计数器 | |
CN2585371Y (zh) | 存储器控制芯片及控制电路 | |
CN105373348A (zh) | 一种混合内存的硬件实现系统及方法 | |
CN201918981U (zh) | 双相哈佛码总线信号编解码电路 | |
CN1719421A (zh) | 基于mcs-51架构的16m字节数据存储器寻址空间扩充方法 | |
CN1128413C (zh) | 可扩充分时总线结构 | |
CN1967420A (zh) | 串联式plc主机与扩充机的并列快速通信接口 | |
CN1095584C (zh) | 存储器存取之接口电路及存储器存取的方法 | |
CN1279451C (zh) | 驱动能力设定方法、及驱动电路 | |
CN1295624C (zh) | 高速缓冲存储器及控制方法 | |
US20070260844A1 (en) | Memory bus encoding | |
CN1203417C (zh) | 分离式串行ata实体层的电路构造 | |
CN1613115A (zh) | 通过不将地址和控制信号返回空闲来减少交流电功率的存储器控制器 | |
CN2599661Y (zh) | 运用sata接口的存储卡读取装置 | |
CN1098528A (zh) | 并行数据传送电路 | |
CN1212587C (zh) | 基于dsp的高速便携式扫描仪 | |
CN1208734C (zh) | 可减少串列式ata分离式实体层介面讯号数的电路 | |
CN1744072A (zh) | 一种可编程多路数字波形产生的方法及其装置 | |
CN1238788C (zh) | 可处理变长数据的先进先出寄存器队列装置及控制方法 | |
TW201935212A (zh) | 觸控感測裝置的訊號處理方法及觸控感測裝置 | |
CN1297887C (zh) | 可跨边界对齐复数暂存器资料的处理器及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20090722 |
|
CX01 | Expiry of patent term |