US20010030905A1 - Force page paging scheme for microcontrollers of various sizes using data random access memory - Google Patents
Force page paging scheme for microcontrollers of various sizes using data random access memory Download PDFInfo
- Publication number
- US20010030905A1 US20010030905A1 US09/799,320 US79932001A US2001030905A1 US 20010030905 A1 US20010030905 A1 US 20010030905A1 US 79932001 A US79932001 A US 79932001A US 2001030905 A1 US2001030905 A1 US 2001030905A1
- Authority
- US
- United States
- Prior art keywords
- microcontroller
- instruction
- bit
- page
- dedicated
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J13/00—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
- H02J13/00006—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment
- H02J13/00007—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment using the power network as support for the transmission
- H02J13/00009—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment using the power network as support for the transmission using pulsed signals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/12—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them characterised by data transport means between the monitoring, controlling or managing units and monitored, controlled or operated electrical equipment
- Y04S40/121—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them characterised by data transport means between the monitoring, controlling or managing units and monitored, controlled or operated electrical equipment using the power network as support for the transmission
Definitions
- This invention relates generally to microcontrollers and, more specifically, to a random access memory paging scheme for a microcontroller that will allow a user to have any page selected in the random access memory of the microcontroller and still have direct access to special function registers or the register variables without modifying the page select register of a current instruction.
- RAM random access memory
- the improved microcontroller architecture and paging scheme must allow for direct access to special function registers.
- the improved microcontroller architecture and paging scheme must allow direct access to special function registers without modifying the page select register of the current instruction being used by the microcontroller.
- the improved microcontroller architecture and paging scheme must further allow for direct access to special function registers without increasing the size of the microcontroller.
- the present invention provides a paging scheme for a microcontroller that uses data random access memory to allow tracking of a currently selected address in the random access memory.
- the method comprises the step of dedicating a bit in each op-code instruction of the microcontroller. When the bit is set, the bit forces data access to take place on a section of the random access memory storing special and general purpose registers while not affecting current operations of the microcontroller. Even when set, the dedicated bit will not modify the currently selected address stored in the page select register currently being used by the microcontroller.
- the method may further comprise the steps of: linearizing an entire address range of the random access memory; and dedicating a specific address section of the random access memory to the special and general-purpose registers.
- the specific address section that is so dedicated can be any page within the memory. This is a useful feature of the present invention as it enables the utilization of, for example, programs that must use specific portions of memory (for instance the first page ( 0 ) or the last page (f)).
- the present invention provides a microcontroller having forced page architecture.
- the microcontroller has a random access memory that has an entire linearized address range.
- the random access memory is divided into plurality of pages wherein one page is dedicated to special and general purpose registers.
- a dedicated bit in each op-code instruction of the microcontrollers is used to force data access to take place on a page of the random access memory that stores the special and general purpose registers.
- the setting of the dedicated bit will not affect the current operations of the microcontroller nor will the setting of the bit modify the currently selected address stored in the page select register currently being used by the microcontroller.
- FIG. 1 is a simplified data memory map of a prior art paging scheme for a microcontroller to address data memory.
- FIG. 2 is a simplified data memory map of an 8-bit microcontroller having a forced page paging scheme.
- FIG. 3 is a simplified diagram of a 16-bit op-code instruction.
- FIG. 4 is a simplified data memory map of a 16-bit microcontroller having a forced page paging scheme.
- FIG. 5 is a simplified diagram of a 12-bit op-code instruction.
- FIG. 6 is a simplified diagram of a 14-bit op-code instruction.
- FIG. 1 a simplified block diagram of a prior art paging scheme 10 for a microcontroller to address data memory is shown.
- all special function and register variables 12 are mapped in the first page of the RAM.
- the special function registers 12 since the special function registers 12 have to be accessible all the time, the special function registers 12 are mapped into every bank (i.e., Bank 1 - 7 ). This wastes precious RAM space since every location that is mapped takes up one general purpose RAM location.
- a microcontroller 20 with forced page architecture is shown.
- the microcontroller 20 uses a random access memory (RAM) 22 for storing data.
- the size of the RAM 22 is based on the particular use of the microcontroller 20 .
- the entire address range of the RAM 22 is linearized. By linearizing the address range, the problems associated with banking and page bits of the prior art are removed.
- the microcontroller 20 is an 8-bit PIC microcontroller.
- many of the op-code instructions of the microcontroller 20 are limited to an 8-bit address. For this reason, the linear address range is broken into a plurality of pages.
- the microcontroller 20 is an 8-bit microcontroller, the RAM 22 is divided into a plurality of 256 byte pages.
- the microcontroller 20 may be a 16-bit microcontroller or other size microcontroller. In the case where the microcontroller 20 is a 16-bit microcontroller, the RAM 22 can be divided into a plurality of 64K byte pages, as shown in FIG. 4. It should be appreciated by those skilled in the art, however, that other configurations are possible.
- An example of a possible use of this feature is during the call of an interrupt. For example, inside of an interrupt service routine, the user will not have to worry about the address stored in the page select register. In order to access special function registers and/or general purpose registers 12 and 14 the user simply selects the forced page bit 36 .
- the forced page 24 is broken into two 128 byte sections.
- the first 128 section stores the special function registers while the second 128 section stores the general purpose registers.
- the forced page 24 may be broken into two 32 K byte sections.
- the first 32 K section stores the special function registers while the second 32 K section stores the general-purpose registers, as shown in FIG. 4. It should be appreciated by those skilled in the art, however, that other configurations are possible.
- a bit 36 is dedicated in each op-code instruction 30 of the microcontroller 20 which when set forces data access to take place on, for example, the first page 24 (i.e., page 0 ) of the RAM 22 , or the last page (i.e., page (f)) of the RAM 22 .
- the present invention can be implemented using any of the pages available within the available memory (e.g. RAM 22 ). To facilitate this feature, one or more specific page select bits can be stored in a separate register.
- the setting of the dedicated bit does not affect the current operation of the microcontroller 20 nor does it modify the currently selected address stored in the page select register currently being used by the microcontroller 20 .
- the current instruction will always affect the forced page (the page where data access is forced to, (e.g., page ( 0 ) or page (f)) which stores the special and general purpose registers 12 and 14 .
- the interrupt service routine can set the dedicated bit 36 in the op-code instruction 30 .
- the microcontroller 20 may go back to the current address location in the RAM 22 since the address location was not modified during the service of the interrupt.
- the op-code instruction 30 is a 16-bit instruction.
- the first 8-bit section 32 defines the instruction and tells the microcontroller 20 what to do.
- the second 8-bits section 34 defines the address where the instruction is to be executed.
- the dedicated bit 36 is added to the first 8-bit section 32 of the op-code instruction 30 in order not to alter the address stored in an op-code instruction 30 when the dedicated bit 36 is set.
- the op-code instruction 30 ′ is a 12-bit instruction, as shown in FIG. 5.
- the first section 32 ′ is 6-bits wide, defines the instruction, and tells the microcontroller 20 what to do.
- the second section 34 ′ is 6-bits wide and defines the address where the instruction is to be executed.
- the dedicated bit 36 is added to the first 6-bit section 32 ′ of the op-code instruction 30 ′ in order not to alter the address stored in an op-code instruction 30 ′ when the dedicated bit 36 is set.
- the op-code instruction 30 ′′ is a 14-bit instruction, as shown in FIG. 6.
- the first section 32 ′′ is 7-bits wide, defines the instruction and tells the microcontroller 20 what to do.
- the second section 34 ′′ is 7-bits wide and defines the address where the instruction is to be executed.
- the dedicated bit 36 is added to the first 7-bit section 32 ′′ of the op-code instruction 30 ′ in order not to alter the address stored in an op-code instruction 30 ′′ when the dedicated bit 36 is set.
- instructions 30 of any width i.e., any multiple of 2 can be used.
- the dedicated bit 36 is only added to numeric processing op-code instructions of the microcontroller 20 .
- the dedicated bit 36 may be added in the numeric processing op-code instructions of the microcontroller 20 without increasing the size of the instruction decode map of the microcontroller 20 .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Abstract
A microcontroller architecture that adds a dedicated bit in the op-code decode field to force data access to take place on a page of the random access memory (RAM) for that instruction. This allows the user to have any page selected and still have direct access to the special function registers or the register variables that are located on a pre-defined page of the RAM. The setting of the dedicated bit will not affect the current operation of the microcontroller nor will the setting of the bit modify the currently selected address stored in a page select register currently being used by the microcontroller.
Description
- This application is a continuation-in-part of U.S. patent application Ser. No. 08/887,876, filed Jul. 3, 1997, entitled “Force Page Zero Paging Scheme For Microcontrollers Using Data Random Access Memory,” which is assigned to the same assignee as the present application and for which there is at least one common inventor with the present invention.
- This invention relates generally to microcontrollers and, more specifically, to a random access memory paging scheme for a microcontroller that will allow a user to have any page selected in the random access memory of the microcontroller and still have direct access to special function registers or the register variables without modifying the page select register of a current instruction.
- Current microcontrollers, including PIC microcontrollers, use a random access memory (RAM) paging scheme to address all the data memory. This scheme is extremely cumbersome in that it takes several instructions to ensure that the user is writing or reading the proper address in RAM. It also complicates the job of the C-compiler since the C-compiler must keep track of which page is currently selected in RAM. This presents even more problems when handling interrupts.
- In classic microcontroller architecture, increasing the op-code field to handle larger addresses would solve the address paging problem. However, increasing the op-code field has the disadvantage of increasing the size of the microcontroller and thus increasing the overall cost of the microcontroller. Another way to alleviate the RAM paging problem is to map all special function and register dedicated memory space that is available in every bank or page. This wastes precious RAM space since every location that is mapped takes up one general purpose RAM location in every bank. If the micro has eight (8) pages, seven (7) locations of RAM are wasted.
- Therefore, a need existed to provide an improved microcontroller architecture and paging scheme. The improved microcontroller architecture and paging scheme must allow for direct access to special function registers. The improved microcontroller architecture and paging scheme must allow direct access to special function registers without modifying the page select register of the current instruction being used by the microcontroller. The improved microcontroller architecture and paging scheme must further allow for direct access to special function registers without increasing the size of the microcontroller.
- In accordance with one embodiment of the present invention, it is an object of the present invention to provide an improved microcontroller architecture and paging scheme.
- It is another object of the present invention to provide an improved microcontroller architecture and paging scheme that allows direct access to special function registers without modifying the page select register of the current instruction being executed by the microcontroller.
- It is still another object of the present invention to provide an improved microcontroller architecture and paging scheme that allows direct access to special function registers without increasing the size of the microcontroller.
- In one embodiment, the present invention provides a paging scheme for a microcontroller that uses data random access memory to allow tracking of a currently selected address in the random access memory. The method comprises the step of dedicating a bit in each op-code instruction of the microcontroller. When the bit is set, the bit forces data access to take place on a section of the random access memory storing special and general purpose registers while not affecting current operations of the microcontroller. Even when set, the dedicated bit will not modify the currently selected address stored in the page select register currently being used by the microcontroller. The method may further comprise the steps of: linearizing an entire address range of the random access memory; and dedicating a specific address section of the random access memory to the special and general-purpose registers. The specific address section that is so dedicated can be any page within the memory. This is a useful feature of the present invention as it enables the utilization of, for example, programs that must use specific portions of memory (for instance the first page (0) or the last page (f)).
- In accordance with another embodiment, the present invention provides a microcontroller having forced page architecture. The microcontroller has a random access memory that has an entire linearized address range. The random access memory is divided into plurality of pages wherein one page is dedicated to special and general purpose registers. A dedicated bit in each op-code instruction of the microcontrollers is used to force data access to take place on a page of the random access memory that stores the special and general purpose registers. The setting of the dedicated bit will not affect the current operations of the microcontroller nor will the setting of the bit modify the currently selected address stored in the page select register currently being used by the microcontroller.
- The foregoing and other objects, features, and advantages of the invention will be apparent from the following, more particular, description of the preferred embodiments of the invention, as illustrated in the accompanying drawings.
- FIG. 1 is a simplified data memory map of a prior art paging scheme for a microcontroller to address data memory.
- FIG. 2 is a simplified data memory map of an 8-bit microcontroller having a forced page paging scheme.
- FIG. 3 is a simplified diagram of a 16-bit op-code instruction.
- FIG. 4 is a simplified data memory map of a 16-bit microcontroller having a forced page paging scheme.
- FIG. 5 is a simplified diagram of a 12-bit op-code instruction.
- FIG. 6 is a simplified diagram of a 14-bit op-code instruction.
- Referring to FIG. 1, a simplified block diagram of a prior
art paging scheme 10 for a microcontroller to address data memory is shown. As stated above, all special function andregister variables 12 are mapped in the first page of the RAM. However, since thespecial function registers 12 have to be accessible all the time, thespecial function registers 12 are mapped into every bank (i.e., Bank 1-7). This wastes precious RAM space since every location that is mapped takes up one general purpose RAM location. - Referring to FIG. 2, a
microcontroller 20 with forced page architecture is shown. Themicrocontroller 20 uses a random access memory (RAM) 22 for storing data. The size of theRAM 22 is based on the particular use of themicrocontroller 20. As can be seen from FIG. 2, the entire address range of theRAM 22 is linearized. By linearizing the address range, the problems associated with banking and page bits of the prior art are removed. - However, in general, many of the op-code instructions of the
microcontroller 20 are limited in address space. In the preferred embodiment of the present invention, themicrocontroller 20 is an 8-bit PIC microcontroller. Thus, many of the op-code instructions of themicrocontroller 20 are limited to an 8-bit address. For this reason, the linear address range is broken into a plurality of pages. If themicrocontroller 20 is an 8-bit microcontroller, theRAM 22 is divided into a plurality of 256 byte pages. However, as those of ordinary skill in the art will appreciate, themicrocontroller 20 may be a 16-bit microcontroller or other size microcontroller. In the case where themicrocontroller 20 is a 16-bit microcontroller, theRAM 22 can be divided into a plurality of 64K byte pages, as shown in FIG. 4. It should be appreciated by those skilled in the art, however, that other configurations are possible. - One
page 24, known hereinafter as the forced page, is used for storing the special function registers 12 (shown in FIG. 1) and general purpose registers 14 (shown in FIG. 1). As stated above, theseregisters special function registers 12 andgeneral purpose registers 14. An example of a possible use of this feature is during the call of an interrupt. For example, inside of an interrupt service routine, the user will not have to worry about the address stored in the page select register. In order to access special function registers and/or general purpose registers 12 and 14 the user simply selects the forcedpage bit 36. In the preferred embodiment of the present invention, the forcedpage 24 is broken into two 128 byte sections. The first 128 section stores the special function registers while the second 128 section stores the general purpose registers. In the case wherein themicrocontroller 20 is a 16-bit microcontroller, the forcedpage 24 may be broken into two 32 K byte sections. The first 32 K section stores the special function registers while the second 32 K section stores the general-purpose registers, as shown in FIG. 4. It should be appreciated by those skilled in the art, however, that other configurations are possible. - Referring now to FIGS. 2 and 3, in order to have the special and general purpose registers12 and 14 accessible at all times, a
bit 36 is dedicated in each op-code instruction 30 of themicrocontroller 20 which when set forces data access to take place on, for example, the first page 24 (i.e., page 0) of theRAM 22, or the last page (i.e., page (f)) of theRAM 22. As pointed out above, the present invention can be implemented using any of the pages available within the available memory (e.g. RAM 22). To facilitate this feature, one or more specific page select bits can be stored in a separate register. - The setting of the dedicated bit does not affect the current operation of the
microcontroller 20 nor does it modify the currently selected address stored in the page select register currently being used by themicrocontroller 20. Thus, no matter where the user is in theRAM 22, if thebit 36 is set, the current instruction will always affect the forced page (the page where data access is forced to, (e.g., page (0) or page (f)) which stores the special and general purpose registers 12 and 14. Thus, if a user is in the general purpose RAM area (i.e., any page except the forced page) and receives an interrupt, the interrupt service routine can set thededicated bit 36 in the op-code instruction 30. The user may then deal with the special and general purpose registers 12 and 14 without affecting anything else themicrocontroller 20 was doing. When the interrupt has been properly serviced, themicrocontroller 20 may go back to the current address location in theRAM 22 since the address location was not modified during the service of the interrupt. - In the preferred embodiment of the present invention for an 8-
bit microcontroller 20, the op-code instruction 30 is a 16-bit instruction. The first 8-bit section 32 defines the instruction and tells themicrocontroller 20 what to do. The second 8-bits section 34 defines the address where the instruction is to be executed. Thededicated bit 36 is added to the first 8-bit section 32 of the op-code instruction 30 in order not to alter the address stored in an op-code instruction 30 when thededicated bit 36 is set. - In a first alternate embodiment of the present invention, the op-
code instruction 30′ is a 12-bit instruction, as shown in FIG. 5. In this embodiment, thefirst section 32′ is 6-bits wide, defines the instruction, and tells themicrocontroller 20 what to do. Thesecond section 34′ is 6-bits wide and defines the address where the instruction is to be executed. Thededicated bit 36 is added to the first 6-bit section 32′ of the op-code instruction 30′ in order not to alter the address stored in an op-code instruction 30′ when thededicated bit 36 is set. - In a second alternate embodiment of the present invention, the op-
code instruction 30″ is a 14-bit instruction, as shown in FIG. 6. In this embodiment, thefirst section 32″ is 7-bits wide, defines the instruction and tells themicrocontroller 20 what to do. Thesecond section 34″ is 7-bits wide and defines the address where the instruction is to be executed. Thededicated bit 36 is added to the first 7-bit section 32″ of the op-code instruction 30′ in order not to alter the address stored in an op-code instruction 30″ when thededicated bit 36 is set. As those of ordinary skill in the art will appreciate,instructions 30 of any width (i.e., any multiple of 2) can be used. - In the preferred embodiment of the present invention, the
dedicated bit 36 is only added to numeric processing op-code instructions of themicrocontroller 20. By removing a few non-numeric processing op-code instruction decode map of themicrocontroller 20, thededicated bit 36 may be added in the numeric processing op-code instructions of themicrocontroller 20 without increasing the size of the instruction decode map of themicrocontroller 20. - While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form, and details may be made therein without departing from the spirit and scope of the invention.
Claims (8)
1. A paging scheme for a microcontroller that uses data random access memory to allow tracking of a currently selected address in said random access memory comprising the steps of:
(a) linearizing an entire address range of said random access memory;
(b) dividing said linearized address range of said random access memory into a plurality of pages, wherein each of said plurality of pages is selected from the group consisting of 256 bytes and 64K bytes in size;
(c) dedicating a page of said random access memory to special and general purpose registers; and
(d) dedicating a bit in each op-code instruction of said microcontroller which when set forces data access to take place on said dedicated page while not affecting current operations of said microcontroller and not modifying said currently selected address stored in a page select register being used by said microcontroller.
2. The paging scheme for a microcontroller according to , wherein said step of dedicating a bit in each op-code instruction of said microcontroller further comprises the step of dedicating a bit in only numeric processing op-code instructions of said microcontroller.
claim 1
3. The paging scheme for a microcontroller according , wherein the step of dedicating a bit in only numeric processing op-code instructions of said microcontroller further comprises the step of removing non-numeric processing op-code instructions from an instruction decode map of said microcontroller to allow adding said dedicated bit in only said numeric processing op-code instructions of said microcontroller without increasing a size of said instruction decode map for said microcontroller.
claim 2
4. A microcontroller having a forced page paging architecture comprising:
(a) system memory having an entire address range that is linearized, said system memory being arranged into a plurality of pages, each of said plurality of pages having a size selected from the group consisting of 256 bytes and 64K bytes, one page of said plurality of pages being dedicated to special and general purpose registers; and
(b) said system memory comprising a plurality of op-code instructions, each op-code instruction having a dedicated bit which when set forces data access to take place on said dedicated page while not affecting current operations of said microcontroller and not modifying a currently selected address stored in a page select register being used by said microcontroller.
5. A microcontroller according to , wherein said dedicated bit is placed only in numeric processing op-code instructions of said microcontroller.
claim 4
6. The microcontroller according to , wherein each op-code instruction is 12 bits wide, with the first six bits defining the instruction, the second six bits defining the address where the instruction is executed and the dedicated bit is added to the first six bits.
claim 4
7. The microcontroller according to , wherein each op-code instruction is 14 bits wide with the first seven bits defining the instruction, the second seven bits defining the address where the instruction is executed and the dedicated bit is added to the first seven bits.
claim 4
8. The microcontroller according to , wherein each op-code instruction is 16 bits wide with the first eight bits defining the instruction, the second eight bits defining the address where the instruction is executed and the dedicated bit is added to the first eight bits.
claim 4
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/799,320 US20010030905A1 (en) | 1997-07-03 | 2001-03-05 | Force page paging scheme for microcontrollers of various sizes using data random access memory |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/887,876 US6055211A (en) | 1997-07-03 | 1997-07-03 | Force page zero paging scheme for microcontrollers using data random access memory |
US09/513,427 US6198691B1 (en) | 1997-07-03 | 2000-02-25 | Force page paging scheme for microcontrollers of various sizes using data random access memory |
US09/799,320 US20010030905A1 (en) | 1997-07-03 | 2001-03-05 | Force page paging scheme for microcontrollers of various sizes using data random access memory |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/513,427 Continuation US5629825A (en) | 1990-04-02 | 1995-08-10 | Apparatus and method for detecting a fault in a distributed line network |
Publications (1)
Publication Number | Publication Date |
---|---|
US20010030905A1 true US20010030905A1 (en) | 2001-10-18 |
Family
ID=24043218
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/513,427 Expired - Lifetime US6198691B1 (en) | 1997-07-03 | 2000-02-25 | Force page paging scheme for microcontrollers of various sizes using data random access memory |
US09/799,320 Abandoned US20010030905A1 (en) | 1997-07-03 | 2001-03-05 | Force page paging scheme for microcontrollers of various sizes using data random access memory |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/513,427 Expired - Lifetime US6198691B1 (en) | 1997-07-03 | 2000-02-25 | Force page paging scheme for microcontrollers of various sizes using data random access memory |
Country Status (6)
Country | Link |
---|---|
US (2) | US6198691B1 (en) |
EP (1) | EP1130509A1 (en) |
JP (1) | JP2001249845A (en) |
KR (1) | KR20010085562A (en) |
CN (1) | CN1310382A (en) |
TW (1) | TW487929B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075223A1 (en) * | 2004-10-01 | 2006-04-06 | International Business Machines Corporation | Scalable paging of platform configuration registers |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040111650A (en) * | 2002-05-22 | 2004-12-31 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | Method and apparatus for decoding instruction sequences |
US7996647B2 (en) * | 2008-07-23 | 2011-08-09 | Microchip Technology Incorporated | Enhanced microprocessor or microcontroller |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4685084A (en) * | 1985-06-07 | 1987-08-04 | Intel Corporation | Apparatus for selecting alternate addressing mode and read-only memory |
US5293591A (en) * | 1991-06-10 | 1994-03-08 | Advanced Micro Devices, Inc. | Processing system including memory selection of multiple memories and method in an interrupt environment |
US5845307A (en) * | 1997-01-27 | 1998-12-01 | Sun Microsystems, Inc. | Auxiliary register file accessing technique |
US6055211A (en) * | 1997-07-03 | 2000-04-25 | Microchip Technology Incorporated | Force page zero paging scheme for microcontrollers using data random access memory |
US6029241A (en) * | 1997-10-28 | 2000-02-22 | Microchip Technology Incorporated | Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor |
-
2000
- 2000-02-25 US US09/513,427 patent/US6198691B1/en not_active Expired - Lifetime
-
2001
- 2001-02-12 EP EP01103222A patent/EP1130509A1/en not_active Withdrawn
- 2001-02-20 JP JP2001044208A patent/JP2001249845A/en not_active Withdrawn
- 2001-02-21 TW TW090103919A patent/TW487929B/en not_active IP Right Cessation
- 2001-02-22 CN CN01102898A patent/CN1310382A/en active Pending
- 2001-02-24 KR KR1020010009442A patent/KR20010085562A/en not_active Application Discontinuation
- 2001-03-05 US US09/799,320 patent/US20010030905A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075223A1 (en) * | 2004-10-01 | 2006-04-06 | International Business Machines Corporation | Scalable paging of platform configuration registers |
US7653819B2 (en) | 2004-10-01 | 2010-01-26 | Lenovo Singapore Pte Ltd. | Scalable paging of platform configuration registers |
Also Published As
Publication number | Publication date |
---|---|
JP2001249845A (en) | 2001-09-14 |
TW487929B (en) | 2002-05-21 |
KR20010085562A (en) | 2001-09-07 |
EP1130509A1 (en) | 2001-09-05 |
CN1310382A (en) | 2001-08-29 |
US6198691B1 (en) | 2001-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4459657A (en) | Data processing system having re-entrant function for subroutines | |
USRE43248E1 (en) | Interoperability with multiple instruction sets | |
Dewar | Indirect threaded code | |
EP0213843A2 (en) | Digital processor control | |
JPH03126144A (en) | Method and apparatus for using memory in virtual address type information processing system | |
US6055211A (en) | Force page zero paging scheme for microcontrollers using data random access memory | |
US5210839A (en) | Method and apparatus for providing a memory address from a computer instruction using a mask register | |
US20030028754A1 (en) | Data processor using indirect register addressing | |
US6578139B1 (en) | Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor | |
US6029241A (en) | Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor | |
KR100972160B1 (en) | Data access program instruction encoding | |
US6198691B1 (en) | Force page paging scheme for microcontrollers of various sizes using data random access memory | |
US6253314B1 (en) | Instruction set and executing method of the same by microcomputer | |
JP2551167B2 (en) | Microcomputer | |
US6691211B2 (en) | Method of selecting registers from a primitive register set | |
CN115328390A (en) | Pointer variable read-write operation method, device, equipment and medium based on C51 | |
US6502184B1 (en) | Method and apparatus for providing a general purpose stack | |
KR950006603A (en) | Memory addressing method to increase the number of memory address locations available within a computer that stores high-precision numbers | |
US5390358A (en) | Arithmetic unit that requires only one byte instructions | |
JPH09505428A (en) | Microcontroller with page address mode | |
US5933856A (en) | System and method for processing of memory data and communication system comprising such system | |
US6202144B1 (en) | Computer system having a single pointer branch instruction and method | |
JPH0394325A (en) | Data selector | |
JPH05127920A (en) | Main storage access optimizing processing method | |
Gilder et al. | Bits and Bytes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |