CN1534484A - Method of increasing storage in processor - Google Patents
Method of increasing storage in processor Download PDFInfo
- Publication number
- CN1534484A CN1534484A CNA031085229A CN03108522A CN1534484A CN 1534484 A CN1534484 A CN 1534484A CN A031085229 A CNA031085229 A CN A031085229A CN 03108522 A CN03108522 A CN 03108522A CN 1534484 A CN1534484 A CN 1534484A
- Authority
- CN
- China
- Prior art keywords
- storage
- address
- processor
- data
- read
- 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
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
A method for increasing the memory space of processor which has a CPU and a fixed memory includes providing a extended memory, using an address extender to extend data address and register address in the mode of increasing the number of bits, using a stack pointer to extend stack address in the mode of increasing the number of bits, and storing the increased data to the extended memory.
Description
Technical field
The present invention relates to a kind of method that increases storer in the processor, particularly a kind of method that increases the stacked memory of internal data memory in the processor.
Background technology
MCS (Micro Computer System) is the general name of Intel Company to microprocessor, and the processor of its MCS-31/32 that develops and 51/52 series is applied in the industry member especially at large.Generally speaking, microprocessor only contains a spot of storer and input and output point, single-chip with MCS-51 series is an example, it has the program storage of 4K byte, data-carrier store and 32 input and output points of 128 bytes, the processor of MCS-52 series then is that program storage is increased to the 8K byte, and data-carrier store increased to 256 bytes, and the same CPU (central processing unit) of using one 8 of the processor of MCS-31/32 and 51/52 series.Program storage is used for depositing the program that the user writes, belong to ROM (read-only memory) (ROM), data-carrier store then is a random-access memory (ram), can the time read or write data for the CPU (central processing unit) running, normally is used for the register of when program is carried out temporary transient store data.
Please refer to Fig. 1, Fig. 1 is the synoptic diagram of the processor interior data storer 12 of known MCS-51 series.Internal data memory 12 is shared by stacked memory, data-carrier store and register memory, stack address, data address and register address all are 8 addresses, the CPU (central processing unit) of processor is performed also is 8 instruction set, when access internal data memory 12, after a storage address generator 14 was imported in 8 instruction and 8 s' address, access internal data memory 12 was come in the output storage address.The capacity of the processor interior data storer of MCS-51 series is 128 bytes, the capacity of the processor interior data storer of MCS-52 series then is 256 bytes, and the same maximum of its external data memory of the processor of MCS-51/52 series can expand to the 64K byte.In general, the user can adopt immediately allocating method or indirect addressing method to come access internal data memory 12, immediately allocating method is the content of one of them address of data-carrier store to be taken out do computing, and put into register, and the indirect addressing method is to use register as pointer, obtains the value in this pointer again.Internal data memory 12 can be divided following several sections, first, address 00H-1FH is a register banks, this address totally 32 bytes is divided into 4 work register storehouses (Register Bank), each register banks contains 8 registers, and the data in the register banks can be adopted direct or indirect addressing method and be come access.The second, address 20H-2FH is the bit addressing district, and address 20H-2FH has 16 bytes, 128 positions just, and the user can utilize the instruction of bit arithmetic, directly computing is done in the position in the bit addressing district.The 3rd, address 30H-7FH is the general service district, and this zone is available for users to planning, and storehouse (stack) promptly is located at this zone usually, as long as stack pointer (stack pointer) is pointed to this district.The 4th, address 80H-FFH also is the general service district, and this zone only is present in the processor of MCS-52 series, adopts the indirect addressing method to come access data.
Please refer to Fig. 2, Fig. 2 is the synoptic diagram that known internal data-carrier store 12 uses two storehouses.The use of internal data memory 12 is disposed as shown in the figure, and a part is as the storage of register and data, and a part provides storehouse to use.As mentioned above, usually storehouse can be located among the general service district of internal data memory 12, stack pointer is pointed to the reference position of a position in general service district as storehouse, and this storehouse normally is used for depositing the programmed counting of calling out subroutine, or the data made by oneself of user.Yet a lot of programs are when calling out subroutine, may need to pass parameter, at this moment must use another storehouse to come storage parameter, generally all be to use parameter pointer (parameter pointer) to begin downward number by the location superlatively of internal data memory 12, because two necessary shared limited storage space of storehouse, so the user notes the usage quantity of two storehouses when designing program, otherwise probably cause the mistake of data.
From the above, the processor of known MCS-51/52 series only provides limited internal data memory 12, and stacked memory, data-carrier store and register memory must shared this internal data memories.Yet because the development of system is complicated day by day, the increase that required stacked memory and data-carrier store are all a large amount of, though data-carrier store 12 can utilize external data memory to expand, the internal data memory that the size of stacked memory but still is subject to processor and is provided.Because the size of stacked memory is restricted; thus; complicated program regular meeting has the not enough situation of using of stacked memory to take place; because program must use storehouse to come record, but be subject to the size of stacked memory when calling out subroutine; just can only call out the subroutine of some in the program; moreover, if need to pass parameter in the subroutine, need to use a large amount of storehouses especially.Yet, under the restriction of its instruction set, only use a byte (eight) to represent its internal memory location, so its internal storage size is subject to 256 bytes (two eight powers) all the time because the instruction of MCS-51/52 is eight bit lengths.Under the situation that the size of stacked memory can't expand, the program designer must be noted that the storehouse quantity of use in the program of writing, and makes procedure development difficulty more.
Summary of the invention
Therefore fundamental purpose of the present invention provides a kind of method that increases the storer on the processor, to address the above problem.
For achieving the above object, the invention provides a kind of method that increases the storer on the processor, this processor is provided with a CPU (central processing unit) and a read-only storage, and this method comprises (a) provides an extended storage on this processor; (b) use an address stretcher to increase the mode extension data address and the register address of position; And (c) use a stack pointer generator to extend stack address in the mode that increases the position, but make the storer of this processor access greater than its instruction set position restriction, the position that increases is produced carry at stack address during greater than the scope of this read-only storage, and the stacked data that will exceed the scope of this read-only storage is accessed in this extended storage.And in step (c), also comprising provides a high-order stack address, during greater than the scope of this read-only storage, uses this high position stack address to store the carry that this increase position produces at stack address.
Description of drawings
Fig. 1 is the synoptic diagram of the processor interior data storer of known MCS-51 series.
Fig. 2 uses the synoptic diagram of two storehouses for the known internal data-carrier store.
Fig. 3 is the synoptic diagram of the internal data memory of processor of the present invention.
Fig. 4 is the synoptic diagram of internal data memory configuration of the present invention.
Fig. 5 uses the synoptic diagram of two storehouses for internal data memory of the present invention.
The drawing reference numeral explanation
12 internal data memories, 14 storage address generators
22 internal data memories, 24 read-only storages
26 extended storages, 28 address stretchers
30 stack pointer generators
Embodiment
Please refer to Fig. 3, Fig. 3 is the synoptic diagram of the internal data memory 22 of processor of the present invention.Internal data memory 22 comprises a read-only storage 24 and an extended storage 26, in a bigger storer, can distribute a zone as read-only storage 24 (being generally 256 bytes), other zone outside the read-only storage 24 is then as extended storage 26.Because it is big that the capacity of storer becomes, need more position to do addressing, and the CPU (central processing unit) of processor only can be handled 8 instruction set, under the situation that does not change instruction set, the original address that CPU (central processing unit) spread out of increased suitable position via an address stretcher 28 earlier and extends address date before original address, address after the extension is converted to storage address by storage address generator 14 again, and so, CPU (central processing unit) just can the bigger data-carrier store of access.Yet, be subject to the instruction set of 8 of CPU (central processing unit), can only represent FFH at most, so at most can only access 256 bytes of memory device sizes, in other words, CPU (central processing unit) still can only be in the scope of read-only storage 24 access data, and read-only storage 24 is used jointly by storehouse, data and register, but because storehouse particular processing mode can be used extended storage 26.The characteristic of storehouse processing mode is exactly first-in last-out, just depositing data in the storehouse in must wait until that next record deposits in and just can be removed use after data in the storehouse are removed, finishing touch deposits the data that the data in the storehouse then can be removed at first in, in the case, as long as enough big storage space is provided, then just can constantly deposits data in the storehouse.Be to use a stack pointer to point to the reference position of a storage address during storehouse running as storehouse, known stack pointer is subject to 8 size, can only represent FFH at most, if restore data this moment to storehouse, then stack pointer becomes 0, then data just can cover the data of storehouse start address, so position that the present invention uses a stack pointer generator 30 to extend stack pointer, make address that stack pointer stores can via storage address generator 14 be converted to can access than the address of large memories, the most important thing is, when stack pointer has pointed to FFH and have the next record data to deposit storehouse in, stack pointer generator 30 can produce carry and be stored in a high-order stack address, high-order stack address is incorporated among the stack pointer again, be converted to the address of storer via storage address generator 14 after, storehouse just can use extended storage 26 to store the next record data.Because general access stacked data does not need any assigned address access, but by pushing, release (PUSH, POP) instruction sequential access is not so the stack address that expands can show that storehouse refers to a device (STACKPOINTER), therefore, need not revise existing MCS instruction set yet.
Please refer to Fig. 4, Fig. 4 is the synoptic diagram of internal data memory 22 configurations of the present invention.Internal data memory 22 can be divided into two parts after increase, first part is that 24, the second parts of read-only storage of original size are the extended storages 26 after increasing.Data-carrier store and register memory only use the space of read-only storage 24, and stacked memory can use the space of extended storage 26 to come storage data by stack pointer generator 30 and high-order stack address when read-only storage 24 insufficient spaces.So when the config memory space, since data-carrier store and register memory can only shared read-only storage 24 the space, if need bigger data-carrier store and register memory space, stack pointer can be located at a high position as far as possible, the highest address that is located at FFH, and the reason that is no more than FFH is in order not change the instruction set of processor.So, data-carrier store and register memory just almost can use whole read-only storages 24 spaces, and stacked memory is then because stack pointer generator 30 and high-order stack address can use extended storage 26 to come storage data.
Please refer to Fig. 5, Fig. 5 uses the synoptic diagram of two storehouses for internal data memory 22 of the present invention.User regular meeting when writing program uses two storehouses; this storehouse of stack pointer indication normally is used for depositing the programmed counting of calling out subroutine; or the data made by oneself of user, this storehouse of parameter pointer indication then is to be used for the parameter of the program of depositing required biography when calling out subroutine.If the user needs the storehouse of two larger capacities, but do not wish to change the instruction set of processor again, stack pointer can be set in an address (this is in order not influence original instruction and framework) that is no more than FFH, and parameter pointer be located at the address of the adjacent low level of stack pointer.Stack pointer is upwards increased progressively by the address of setting, because stack pointer generator 30 and high-order stack address are arranged, the size that is restricted to extended storage 26 of this storehouse capacity, parameter pointer is successively decreased downwards by the address of setting, till the zone of data-carrier store and register memory use.
From the above, the present invention increases the internal data memory 22 of processor, make the free space of internal data memory 22 except original read-only storage 24, had more an extended storage 26, add and use address stretcher 28 before original address, to increase suitable figure place, after 14 conversions of storage address generator, but the CPU (central processing unit) of processor is the bigger data-carrier store of access just, but be subject to CPU (central processing unit) and only can handle 8 instruction set, so data-carrier store and register memory still can only use the space of read-only storage 24, and because the characteristic of storehouse running, when depositing stacked data in and exceed read-only storage 24 scopes, use the position of 30 pairs of increases of stack pointer generator to produce carry, and the carry data are stored in high-order stack address, remerge among stack pointer, so storehouse just can use extended storage 26 to come storage data.And also provide preferable memory configurations mode in the foregoing description, under the situation of the instruction set that does not change processor, the highest address that stack pointer can be set in FFH, so data-carrier store and register memory can use most read-only storage 24 spaces, and then decide on the size of extended storage 26 in the space of stacked memory.If the user need use the parameter that second storehouse comes stored routine to pass, parameter pointer can be set in the address of the adjacent low level of stack pointer, parameter pointer can be successively decreased downwards by the address of setting, and uses remaining space in the read-only storage 24.
Compared to known technology, the invention provides a kind of method that increases the internal data memory of processor, known processor only provides limited internal data memory, and stacked memory, data-carrier store and register memory must shared this internal data memories.Though data-carrier store can utilize external data memory to expand, the internal data memory that but the size of stacked memory but still is subject to processor to be provided, and having the not enough situation of using of stacked memory to take place, a lot of still more complicated programs often need use two stacked memories.The present invention increases the internal storage of processor, and uses stack pointer generator and high-order stack address to handle the stacked data of increase, makes that storehouse can the access extended storage, to solve the not enough situation of using of stacked memory.
The above only is preferred embodiment of the present invention, and all equalizations of doing according to claim of the present invention change and modify, and all should belong to the covering scope of patent of the present invention.
Claims (9)
1. method that increases the storer on the processor, this processor is provided with a CPU (central processing unit) and a read-only storage, and this method comprises:
(a) on this processor, provide an extended storage;
(b) use an address stretcher to increase the mode extension data address and the register address of position; And
(c) use a stack pointer generator to extend stack address in the mode that increases the position, but make the storer of this processor access greater than its instruction set position restriction, the position that increases is produced carry in stack address during greater than the scope of this read-only storage, and the stacked data that will exceed the scope of this read-only storage is accessed in this extended storage.
2. the method for claim 1, it is in step (c), and also comprising provides a high-order stack address, during greater than the scope of this read-only storage, uses this high position stack address to store the carry that this increase position produces at stack address.
3. the method for claim 1, wherein this processor is the processor of MCS series.
4. the method for claim 1, the wherein instruction set of 8 of this central processing unit for processing.
5. the method for claim 1, wherein this read-only storage and this extended storage are present among the same block storage.
6. method as claimed in claim 5, wherein the size of this read-only storage is 256 bytes.
7. the method for claim 1, wherein shared this read-only storage of data, register and storehouse.
8. the method for claim 1, wherein this extended storage only uses for storehouse.
9. chip of implementing the described method of claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031085229A CN100353335C (en) | 2003-03-28 | 2003-03-28 | Method of increasing storage in processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031085229A CN100353335C (en) | 2003-03-28 | 2003-03-28 | Method of increasing storage in processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1534484A true CN1534484A (en) | 2004-10-06 |
CN100353335C CN100353335C (en) | 2007-12-05 |
Family
ID=34283129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031085229A Expired - Fee Related CN100353335C (en) | 2003-03-28 | 2003-03-28 | Method of increasing storage in processor |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100353335C (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300676C (en) * | 2004-10-27 | 2007-02-14 | 上海大学 | Stack area expanding method |
CN106469118A (en) * | 2015-08-19 | 2017-03-01 | 深圳市博巨兴实业发展有限公司 | A kind of memorizer Memory Allocation access method and device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19640316A1 (en) * | 1996-09-30 | 1998-04-02 | Siemens Ag | Circuit arrangement with a microprocessor and a stack |
US6654871B1 (en) * | 1999-11-09 | 2003-11-25 | Motorola, Inc. | Device and a method for performing stack operations in a processing system |
-
2003
- 2003-03-28 CN CNB031085229A patent/CN100353335C/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300676C (en) * | 2004-10-27 | 2007-02-14 | 上海大学 | Stack area expanding method |
CN106469118A (en) * | 2015-08-19 | 2017-03-01 | 深圳市博巨兴实业发展有限公司 | A kind of memorizer Memory Allocation access method and device |
CN106469118B (en) * | 2015-08-19 | 2019-08-13 | 深圳市博巨兴实业发展有限公司 | A kind of memory Memory Allocation access method and device |
Also Published As
Publication number | Publication date |
---|---|
CN100353335C (en) | 2007-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9542307B2 (en) | Shiftable memory defragmentation | |
US6381668B1 (en) | Address mapping for system memory | |
US9639458B2 (en) | Reducing memory accesses for enhanced in-memory parallel operations | |
JP4965009B2 (en) | Generating a full hash using an offset table | |
JP5489991B2 (en) | Memory allocation mechanism | |
US7831624B2 (en) | Skip list with address related table structure | |
US6154823A (en) | Method of recognizing fixed and variable sized data objects in memory | |
EP0421845B1 (en) | Virtual addressing method to operate a memory in a computer system and device for carrying out said method | |
KR20010022027A (en) | A method of storing elements in a database | |
CN101673246A (en) | High-efficient first-in first-out (FIFO) data pool reading and writing method | |
KR100474357B1 (en) | A method for memory allocation using multi-level partition | |
CN1426558A (en) | Multi-tiered memory bank with different data buffer capacity with programmable bank selection | |
CN101084484B (en) | Method and system for fast access to stack memory | |
CN100353335C (en) | Method of increasing storage in processor | |
CN106168883A (en) | A kind of efficient data tissue and access method | |
US7124261B2 (en) | Access to bit values within data words stored in a memory | |
KR101555545B1 (en) | Memory control device and information processing apparatus | |
US20040047357A1 (en) | Method for accessing a memory unit in which sequences of notes are stored, corresponding memory unit and corresponding program | |
CN1532724A (en) | Non-shared stack storage processor | |
KR100315500B1 (en) | Memory allocating method | |
TWI289751B (en) | Method for increasing memory in a processor | |
CN108874468A (en) | Loading method, device, computer equipment and the storage medium of application program | |
TWI241485B (en) | Microcontroller which accesses data stored in memory banks through a multiplexer | |
CN109871355A (en) | A kind of snapshot metadata storage method, device and equipment, medium | |
CN1296837C (en) | Method for accessing exterior memory of microprocessor |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071205 Termination date: 20200328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |