WO2012008068A1 - マイクロコントローラ及びその制御方法 - Google Patents

マイクロコントローラ及びその制御方法 Download PDF

Info

Publication number
WO2012008068A1
WO2012008068A1 PCT/JP2011/000843 JP2011000843W WO2012008068A1 WO 2012008068 A1 WO2012008068 A1 WO 2012008068A1 JP 2011000843 W JP2011000843 W JP 2011000843W WO 2012008068 A1 WO2012008068 A1 WO 2012008068A1
Authority
WO
WIPO (PCT)
Prior art keywords
ram
program
cpu
address
microcontroller
Prior art date
Application number
PCT/JP2011/000843
Other languages
English (en)
French (fr)
Inventor
裕幸 小田原
二郎 三宅
Original Assignee
パナソニック株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to CN2011800342408A priority Critical patent/CN102985916A/zh
Publication of WO2012008068A1 publication Critical patent/WO2012008068A1/ja
Priority to US13/738,448 priority patent/US20130132659A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a microcontroller and a control method thereof, and more particularly to a microcontroller including a nonvolatile memory.
  • a conventional one-chip microcontroller uses a nonvolatile memory represented by an EEPROM (Electrically Erasable Programmable ROM) in which a program for controlling its operation is stored as a program memory.
  • EEPROM Electrically Erasable Programmable ROM
  • An advantage of using such a nonvolatile memory as a program memory is that a program stored in the EEPROM can be easily changed by an electric operation. That is, the user does not have to change the mask by rewriting only the program in the storage area that needs to be changed. As a result, it is possible to rapidly develop a one-chip microcontroller with a different program at a reduced cost without relying on an IC manufacturer.
  • Patent Document 1 is known as a conventional technique for solving such a problem.
  • the technique described in Patent Document 1 uses a RAM having a smaller capacity than a nonvolatile memory.
  • the technology stores a program necessary for the operation in a RAM with low power consumption and disables a nonvolatile memory with high power consumption. To do.
  • the technique described in Patent Document 1 executes a program on a small-capacity RAM. Thereby, the technique described in Patent Document 1 enables reduction of power consumption.
  • an object of the present invention is to provide a microcontroller capable of reducing power consumption and reducing the complexity of program development.
  • a microcontroller specifies a nonvolatile memory storing a program for controlling the operation of the microcontroller, a RAM, and an address of the nonvolatile memory.
  • a CPU that executes the program at the address stored in the nonvolatile memory, an area holding unit that holds information indicating a specified area that is a part of the memory area of the nonvolatile memory, and A valid holding unit for holding a valid bit indicating one of a valid state where the program stored in the RAM is valid and an invalid state where the program is invalid, and the address designated by the CPU is within the range of the designated region. If there is a RAM access operation, the address specified by the CPU is within the range of the specified area.
  • a RAM control unit that reads a program at the address specified by the CPU from the nonvolatile memory and outputs a read program to the CPU, and performs a nonvolatile memory access operation.
  • the RAM control unit When the valid bit indicates an invalid state as the RAM access operation, the program at the address specified by the CPU is read from the nonvolatile memory, the read program is stored in the RAM, and the valid When the bit is changed to a valid state and the valid bit indicates a valid state, the program stored in the RAM is output to the CPU.
  • the microcontroller according to one aspect of the present invention stores the program in the RAM.
  • the microcontroller according to one embodiment of the present invention outputs the program stored in the RAM to the CPU when reading the program from the CPU thereafter. Accordingly, the microcontroller according to one embodiment of the present invention can reduce the frequency with which the read operation to the nonvolatile memory occurs, and thus can reduce power consumption.
  • the microcontroller according to one embodiment of the present invention can automatically transfer a program stored in the nonvolatile memory to the RAM in response to a read request from the CPU. As a result, the CPU can perform processing without being aware of the presence of the RAM.
  • the microcontroller according to one embodiment of the present invention can reduce the complexity of program development.
  • the microcontroller further includes a mode holding unit that holds information indicating an operation mode of the microcontroller, and the RAM control unit stores information indicating a first operation mode that is predetermined by the mode holding unit.
  • the RAM control unit stores information indicating a first operation mode that is predetermined by the mode holding unit.
  • the microcontroller according to one aspect of the present invention can reduce power consumption in the specific first operation mode. Further, the microcontroller according to one embodiment of the present invention can simplify the control in the second operation mode by not using the RAM in the second operation mode. Thus, the microcontroller according to one embodiment of the present invention can speed up the operation in the second operation mode.
  • the first operation mode may be a low-speed mode that operates with a low-speed clock as compared with the second operation mode.
  • the microcontroller according to one aspect of the present invention can further reduce power consumption in an operation mode that requires a low power consumption and operates with a low-speed clock.
  • the nonvolatile memory stores, as the program, a first program used in the first operation mode and a second program used in the second operation mode, and the RAM has a capacity of It may be larger than the capacity of the first program, and the designated area may be an area in which the first program is stored.
  • the microcontroller according to one aspect of the present invention can further reduce the frequency with which the read operation to the nonvolatile memory occurs, and thus can further reduce power consumption.
  • the mode holding unit may hold a flag accessible from the CPU as information indicating the operation mode of the microcontroller.
  • the microcontroller according to an aspect of the present invention can simplify the configuration of the mode holding unit.
  • the area holding unit holds information indicating a start address of the specified area as information indicating the specified area, and the RAM control unit stores an area corresponding to the capacity of the RAM from the start address. May be determined.
  • the microcontroller according to one embodiment of the present invention can reduce the capacity (the number of registers) of the region holding unit, so that the cost of the microcontroller can be reduced.
  • the RAM control unit may include a mode switching unit for stopping the nonvolatile memory when performing the RAM access operation.
  • the microcontroller according to one aspect of the present invention can reduce standby power of the nonvolatile memory, and can further reduce power consumption.
  • the present invention can be realized not only as such a microcontroller, but also as a microcontroller control method using characteristic means included in the microcontroller as a step, and such characteristic steps can be implemented in a computer. It can also be realized as a program to be executed. Needless to say, such a program can be distributed via a recording medium such as a CD-ROM and a transmission medium such as the Internet.
  • the present invention can be realized as a semiconductor integrated circuit (LSI) that realizes some or all of the functions of such a microcontroller.
  • LSI semiconductor integrated circuit
  • the present invention can provide a microcontroller capable of reducing power consumption and reducing the complexity of program development.
  • FIG. 1 is a block diagram of a microcontroller according to Embodiment 1 of the present invention.
  • FIG. 2A is a diagram showing an example of data stored in the flash EEPROM according to the first embodiment of the present invention.
  • FIG. 2B is a diagram showing an example of data stored in the flash EEPROM according to Embodiment 1 of the present invention.
  • FIG. 3 is a diagram showing a configuration example of the RAM according to the first embodiment of the present invention.
  • FIG. 4 is a diagram showing an example of valid information according to Embodiment 1 of the present invention.
  • FIG. 5 is a flowchart of processing by the microcontroller according to the first embodiment of the present invention.
  • FIG. 5 is a flowchart of processing by the microcontroller according to the first embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an example of the operation of the microcontroller according to the first embodiment of the present invention.
  • FIG. 7 is a block diagram of a microcontroller according to the second embodiment of the present invention.
  • FIG. 8 is a diagram showing an example of the designated area according to the second embodiment of the present invention.
  • FIG. 9 is a flowchart of processing by the microcontroller according to the second embodiment of the present invention.
  • FIG. 10 is a block diagram of a microcontroller according to the third embodiment of the present invention.
  • FIG. 11 is a flowchart of processing by the microcontroller according to the third embodiment of the present invention.
  • the microcontroller 100 When there is a read request from the CPU 103 for the program stored in the flash EEPROM 101, the microcontroller 100 according to the first embodiment of the present invention stores the program in the RAM 102. Further, the microcontroller 100 outputs the program stored in the RAM 102 to the CPU 103 when reading the program from the CPU 103 thereafter. Thereby, the microcontroller 100 can reduce the frequency with which the read operation of the flash EEPROM 101 occurs, thereby reducing power consumption. Furthermore, the microcontroller 100 can automatically transfer the program stored in the flash EEPROM 101 to the RAM 102 in response to a read request from the CPU 103. Thereby, the CPU 103 can perform processing without being aware of the existence of the RAM 102. Thus, the microcontroller 100 according to one embodiment of the present invention can reduce the complexity of program development.
  • FIG. 1 is a block diagram of a microcontroller 100 according to Embodiment 1 of the present invention.
  • Unit 1 includes a flash EEPROM 101, a RAM 102, a CPU 103, a mode holding unit 104, an area holding unit 105, a valid holding unit 106, a RAM control unit 107, and a data selection, which are nonvolatile memories.
  • Unit 108 The flash EEPROM 101, a RAM 102, a CPU 103, a mode holding unit 104, an area holding unit 105, a valid holding unit 106, a RAM control unit 107, and a data selection, which are nonvolatile memories.
  • Unit 108 includes a flash EEPROM 101, a RAM 102, a CPU 103, a mode holding unit 104, an area holding unit 105, a valid holding unit 106, a RAM control unit 107, and a data selection, which are nonvolatile memories.
  • the flash EEPROM 101 stores a program for controlling the operation of the microcontroller 100.
  • the RAM 102 is used for temporarily storing a program stored in the flash EEPROM 101.
  • the CPU 103 designates the address of the flash EEPROM 101 and executes the program at the address stored in the flash EEPROM 101.
  • the CPU 103 has a normal mode that operates with a high-speed clock, and a low-speed mode (low power consumption mode) that operates with a low-speed clock that is slower than the high-speed clock. Further, when the CPU 103 reads a program stored in the flash EEPROM 101, the CPU 103 outputs an address signal 125 for designating an address of the flash EEPROM 101 and an access request signal 124 for requesting reading of data at the address.
  • the mode holding unit 104 holds operation mode information 144 indicating the operation mode (normal mode or low speed mode) of the CPU 103.
  • the mode holding unit 104 is a register that holds, for example, a flag accessible from the CPU 103 as the operation mode information 144. Thereby, the configuration of the mode holding unit 104 can be simplified.
  • the area holding unit 105 holds designated area information 145 indicating a designated area 155 that is a part of the memory area of the flash EEPROM 101.
  • the area holding unit 105 is configured with a 1-bit or more register accessible from the CPU 103.
  • the designated area information 145 is information for designating the start address and the last address of the designated area 155, for example.
  • FIG. 2A and 2B are diagrams showing an example of a program stored in the flash EEPROM 101 and a designated area 155.
  • FIG. 2A and 2B are diagrams showing an example of a program stored in the flash EEPROM 101 and a designated area 155.
  • the flash EEPROM 101 stores a low-speed mode program 160 executed in the low-speed mode and a normal mode program 161 executed in the normal mode.
  • the flash EEPROM 101 may store other programs or data other than programs.
  • the designated area 155 includes only an address area in which the low-speed mode program 160 is stored. For example, as shown in FIG. 2A, the designated area 155 includes the entire address area where the low-speed mode program 160 is stored. As shown in FIG. 2B, the designated area 155 may include only a part of the address area in which the low-speed mode program 160 is stored.
  • the valid holding unit 106 holds valid bit information 146 indicating one of a valid state where the program stored in the RAM 102 is valid and an invalid state indicating that the program is invalid.
  • the valid holding unit 106 includes a register of 1 bit or more that can be accessed from the CPU 103.
  • FIG. 3 is a diagram illustrating a configuration example of the RAM 102.
  • the capacity of the RAM 102 is 1 Kbyte.
  • the RAM 102 includes 32 lines 165 each having 32 bytes.
  • FIG. 4 is a diagram illustrating an example of the valid bit information 146.
  • the valid bit information 146 includes a plurality of line addresses 170 and valid bits 171 associated with each line address 170.
  • the valid bit information 146 includes 32 line addresses 170 and valid bits 171.
  • Each line address 170 corresponds to one of the lines 165 included in the RAM 102. Each line address 170 is associated with an address in units of 32 bytes of the flash EEPROM 101 included in the designated area 155.
  • the valid bit 171 indicates whether the data stored in the line 165 of the line address 170 corresponding to the valid bit 171 is valid “1” or invalid “0”.
  • the valid holding unit 106 holds a plurality of valid bits 171, but the valid holding unit 106 may hold at least one or more valid bits 171.
  • the RAM control unit 107 includes operation mode information 144 held in the mode holding unit 104, valid bit information 146 held in the valid holding unit 106, and designated area information 145 held in the area holding unit 105.
  • the access to the RAM 102 is controlled in accordance with the access request signal 124 generated by the CPU 103.
  • the RAM control unit 107 also generates a selection control signal 126 for controlling the data selection unit 108, an access control signal 127 for controlling the RAM 102, and an access request signal 128 for requesting the flash EEPROM 101 to read out. .
  • the data selection unit 108 selects either the data output from the flash EEPROM 101 to the data bus 121 or the data output from the RAM 102 to the data bus 122 in response to the selection control signal 126 from the RAM control unit 107. . Then, the data selection unit 108 outputs the selected data to the CPU 103 via the data bus 123.
  • the RAM control unit 107 performs a RAM access operation when the low-speed mode is designated by the operation mode information 144 and the request address 166 that is the address designated by the address signal 125 is within the designated area 155. .
  • the RAM access operation is as follows: (1) When the valid bit 171 indicates an invalid state, the program stored in the request address 166 is read from the flash EEPROM 101, the read program is stored in the RAM 102, and the valid bit 171 is stored. (2) When the valid bit 171 indicates a valid state, the program stored in the RAM 102 is output to the CPU 103.
  • the RAM control unit 107 also includes a case where the normal mode is designated by the operation mode information 144, a case where the low speed mode is designated by the operation mode information 144, and the request address 166 is outside the range of the designated area 155. In addition, a nonvolatile memory access operation is performed.
  • nonvolatile memory access operation is an operation for reading the program stored in the request address 166 from the flash EEPROM 101 and outputting the read program to the CPU 103.
  • the control in the normal mode can be simplified by not using the RAM 102 in the normal mode. Thereby, the operation in the normal mode can be speeded up.
  • the CPU 103 sets the designated area 155 in the area holding unit 105 (S101).
  • the CPU 103 sets the operation mode in the mode holding unit 104 (S102).
  • the RAM control unit 107 confirms the access request signal 124 output from the CPU 103 (S103).
  • the RAM control unit 107 confirms the operation mode indicated by the operation mode information 144 (S104).
  • the RAM control unit 107 When the operation mode information 144 indicates the low-speed mode (Yes in S104), the RAM control unit 107 then indicates that the request address 166 indicated by the address signal 125 output from the CPU 103 is the specified area 155 indicated by the specified area information 145. It is determined whether it is within the range (S105).
  • the RAM control unit 107 selects a line corresponding to the request address 166 from among the plurality of valid bits 171 included in the valid bit information 146. The valid bit 171 of the address 170 is confirmed. Thereby, the RAM control unit 107 determines whether or not the request data, which is data stored in the request address 166 of the flash EEPROM 101, is stored in the RAM 102 (S106).
  • the valid bit 171 is set to an invalid state “0” in the initial state, and the data in the RAM 102 is in an invalid state.
  • the RAM control unit 107 When the valid bit 171 corresponding to the request address 166 is in the invalid state “0” (No in S106), the RAM control unit 107 reads the request data from the flash EEPROM 101, and the corresponding RAM 102 in which the read request data is divided into 32 lines. Write to the line 165 (S107).
  • FIG. 6 is a diagram showing a specific example of the operation in step S107. For example, it is assumed that the request address 166 shown in FIG.
  • the RAM control unit 107 sends an access request signal 128 specifying the transfer address range 167 including the request address 166 to the flash EEPROM 101.
  • the transfer address range 167 is an address range in which, for example, 32-byte data corresponding to one line address 170 and valid bit 171 is stored. Specifically, if the request address 166 is 32n + x (n is any of 0 to 31 and x is any of 0 to 31), the transfer address range 167 is an address range of 32n + 0 to 32n + 31.
  • the flash EEPROM 101 outputs the transfer data, which is 32-byte data stored in the transfer address range 167, to the data bus 121.
  • one transfer address range 167 corresponds to one of the line addresses 170 included in the valid bit information 146.
  • the line address 170 corresponds to one valid bit 171 and one line 165 included in the RAM 102. That is, one line address 170, valid bit 171, line 165, and RAM 102 address correspond to the request address 166, respectively.
  • the RAM control unit 107 sends to the RAM 102 an access control signal 127 that instructs writing of transfer data to the line 165A corresponding to the request address 166 among the plurality of lines 165 included in the RAM 102.
  • the RAM 102 stores the 32-byte transfer data of the data bus 121 on the line 165A.
  • the RAM control unit 107 may perform reading from the flash EEPROM 101 and writing to the RAM 102 for each 1-byte data included in the 32-byte transfer data, or read the 32-byte transfer data from the flash EEPROM 101. Then, the 32-byte transfer data may be written into the RAM 102.
  • the RAM control unit 107 can automatically determine the data write destination address (line 165) for the designated transfer address range 167 (request address 166).
  • the data in the address range of the flash EEPROM 101 address y + 32m + 0 to y + 32m + 31 (m is any of 0 to 31) is the address of the RAM 102 address 32m + 0 to 32m + 31 Written to the range.
  • m 0, data in the address range of addresses y + 0 to y + 31 of the flash EEPROM 101 is written into the address range of addresses 0 to 31 in the RAM 102.
  • the RAM control unit 107 sets the valid state “1” in the valid bit 171 corresponding to the request address 166 (S108).
  • the CPU 103 waits for memory access.
  • the RAM control unit 107 checks the valid bit 171 again in step S106 after the valid bit 171 is updated. In this case, the valid bit 171 corresponding to the request address 166 is the valid state “1” (Yes in S106).
  • the RAM control unit 107 reads the request data from the RAM 102 and outputs the read request data to the CPU 103. (S109). Specifically, the RAM control unit 107 sends an access control signal 127 for instructing reading of data at an address corresponding to the request address 166 to the RAM 102. As a result, the RAM 102 outputs request data at an address corresponding to the request address 166 to the data bus 122.
  • the RAM control unit 107 sends a selection control signal 126 that instructs to select the data bus 122 to the data selection unit 108.
  • the data selection unit 108 outputs the request data of the data bus 122 to the CPU 103 via the data bus 123.
  • the RAM control unit 107 directly reads from the flash EEPROM 101.
  • the request data is read, and the read request data is output to the CPU 103 (S110).
  • the RAM control unit 107 sends an access request signal 128 to the flash EEPROM 101.
  • the flash EEPROM 101 outputs the request data stored in the request address 166 to the data bus 121.
  • the RAM control unit 107 sends a selection control signal 126 that instructs to select the data bus 121 to the data selection unit 108.
  • the data selection unit 108 outputs the request data of the data bus 121 output from the flash EEPROM 101 to the CPU 103 via the data bus 123.
  • step S109 or step S110 when the program is not finished (No in S111), the processes after step S103 are performed again. Further, the processing from step S103 to step S110 is repeatedly performed until the program ends (Yes in S111).
  • the microcontroller 100 can reduce the number of read operations of the flash EEPROM 101, so that the power consumed by the read operation of the flash EEPROM 101 can be suppressed. Therefore, low power consumption can be realized for the entire microcontroller 100.
  • the microcontroller 100 can use the same software as when the RAM 102 is not used, the complexity of software development can be suppressed.
  • the microcontroller 100 can reduce the power consumption and the complexity of the program development.
  • Step S107 and S108 are performed and the process proceeds to Step S106 again.
  • the request data read from the flash EEPROM 101 in Step S107 is the CPU 103. May be transferred to step S111.
  • processing procedure shown in FIG. 4 is an example, and the order of each step may be changed or a part of them may be performed at the same time as long as a similar result can be obtained.
  • the order of steps S104, S105, and S106 may be other than the order shown in FIG. 4, or some of them may be performed simultaneously.
  • the capacity of the RAM 102 is 1 Kbyte, but the capacity of the RAM 102 is not limited to this.
  • the capacity of the RAM 102 is preferably larger than the capacity of the low-speed mode program 160 stored in the flash EEPROM 101.
  • the microcontroller 100 can further reduce the frequency with which the read operation of the flash EEPROM 101 occurs, thereby further reducing power consumption.
  • nonvolatile memories may be used as long as they are rewritable nonvolatile memories such as FeRAM.
  • the RAM 102 is used in the low speed mode, but the RAM 102 may be used in another specific operation mode.
  • the RAM 102 may be used in the normal mode. Even in this case, the same effect can be realized.
  • the area holding unit 105 is configured by a register.
  • the area holding unit 105 may hold specified area information 145 indicating a predetermined fixed area 155.
  • the register can be deleted, and the cost of the microcontroller 100 can be reduced.
  • the area holding unit 105 may hold designated area information 145 indicating a plurality of designated areas 155.
  • FIG. 7 is a block diagram of the microcontroller 200 according to Embodiment 2 of the present invention. Elements similar to those in FIG. 1 are denoted by the same reference numerals. In the following, differences will be mainly described, and redundant description will be omitted.
  • the flash EEPROM 101 is allocated from address 0x40000000 to address 0x400FFFFF in the memory space. Further, the CPU 103 designates the address of the flash EEPROM 101 by a 32-bit address signal 125.
  • the area holding unit 205 holds base address information 245 indicating the base address 255 of the flash EEPROM 101. As shown in FIG. 8, the base address 255 is the head address of the designated area 155. The base address 255 is an address that designates the upper 22 bits of the 32-bit address of the flash EEPROM 101. For example, the area holding unit 205 includes a register accessible from the CPU 103.
  • the RAM control unit 107 determines a 1 Kbyte space corresponding to the capacity of the RAM 102 as the designated area 155 for storing data in the RAM 102 from the base address 255 indicated by the base address information 245.
  • the CPU 103 sets the base address information 245 in the area holding unit 205 (S201).
  • the area of the low-speed mode program 160 is preliminarily accommodated in 1 Kbyte which is the capacity of the RAM 102, and the low-speed mode program 160 is arranged so that the lower 10 bits of the address start from 0x0000.
  • step S102 is the same as that in the first embodiment, and a description thereof will be omitted.
  • the microcontroller 200 according to the second embodiment of the present invention further restricts the arrangement area of the programs stored in the RAM 102 in advance in addition to the effects of the microcontroller 100 according to the first embodiment described above.
  • the number of registers in the area holding unit 205 can be reduced. Thereby, the cost of the microcontroller 200 can be reduced.
  • the area holding unit 205 is constituted by a register, but may hold base address information 245 indicating a predetermined fixed base address 255.
  • the register can be deleted, and the cost of the microcontroller 200 can be further reduced.
  • the area holding unit 205 may hold base address information 245 indicating a plurality of base addresses 255. Thereby, a degree of freedom can be given to the program area.
  • the base address 255 is an address that designates the upper bits of the address of the flash EEPROM 101, but may be an address that designates the address of the flash EEPROM 101 itself. Even in this case, the number of registers can be reduced as compared with the case where the first address and the last address are held as in the first embodiment.
  • FIG. 10 is a block diagram of the microcontroller 300 according to the third embodiment of the present invention. Elements similar to those in FIG. 1 are denoted by the same reference numerals. In the following, differences will be mainly described, and redundant description will be omitted.
  • the RAM control unit 307 further includes a mode switching unit 317 in addition to the function of the RAM control unit 107.
  • the flash EEPROM 101 has a high-speed read mode in which the operation speed is high, a low-speed read mode in which the operation speed is lower than that in the high-speed read mode and low power consumption, and a stop state in which the power consumption is lower than that in the low-speed read mode And a stop mode.
  • the mode switching unit 317 generates a mode switching signal 320 that switches the operation mode (high-speed read mode, low-speed read mode, and stop mode) of the flash EEPROM 101. Specifically, the mode switching unit 317 sets the operation mode of the flash EEPROM 101 to the high-speed read mode when the operation mode of the CPU 103 is the normal mode. Further, when the operation mode of the CPU 103 is the low speed mode, the mode switching unit 317 sets the operation mode of the flash EEPROM 101 to the low speed read mode. Further, the mode switching unit 317 sets the operation mode of the flash EEPROM 101 to the stop mode when the operation mode of the CPU 103 is the low speed mode and data is read from the RAM 102, that is, when the RAM access operation is performed.
  • steps S301 to S304 are added to the processing shown in FIG.
  • Other processes are the same as those in the first embodiment, and a description thereof will be omitted.
  • the operation mode information 144 indicates the low-speed mode (Yes in S104), the request address 166 is within the specified area 155 (Yes in S105), and the valid bit 171 corresponding to the request address 166 is invalid.
  • the mode switching unit 317 sets the operation mode of the flash EEPROM 101 to the low-speed read mode (S301). Thereafter, the RAM control unit 107 reads the request data from the flash EEPROM 101, and writes the read request data to the RAM 102 (S107).
  • the operation mode information 144 indicates the low speed mode (Yes in S104), the request address 166 is within the range of the designated area 155 (Yes in S105), and the valid bit 171 corresponding to the request address 166 is set.
  • the mode switching unit 317 sets the operation mode of the flash EEPROM 101 to the stop mode (S302).
  • the RAM control unit 107 reads the request data from the RAM 102 and outputs the read request data to the CPU 103 (S109).
  • the mode switching unit 317 displays the operation mode of the flash EEPROM 101. Is set to the low-speed read mode (S303). Thereafter, the RAM control unit 107 directly reads the request data from the flash EEPROM 101, and outputs the read request data to the CPU 103 (S110).
  • the mode switching unit 317 sets the operation mode of the flash EEPROM 101 to the high speed read mode (S304). Thereafter, the RAM control unit 107 directly reads the request data from the flash EEPROM 101, and outputs the read request data to the CPU 103 (S110).
  • the microcontroller 300 when reading the low-speed mode program 160 from the RAM 102, the microcontroller 300 sets the flash EEPROM 101 to the stop mode and disables the flash EEPROM 101. Thereby, the microcontroller 300 can reduce standby power as well as power consumption by reducing the number of times of reading from the flash EEPROM 101.
  • the microcontroller 300 according to the third embodiment of the present invention can further reduce power consumption in addition to the effects of the microcontroller 100 according to the first embodiment.
  • the microcontrollers 100, 200, and 300 according to the first to third embodiments are typically realized by a one-chip semiconductor integrated circuit (LSI).
  • the processing units included in the microcontrollers 100, 200, and 300 may be individually made into one chip, or may be made into one chip so as to include some or all of them.
  • circuits are not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • microcontrollers 100, 200, and 300 may be realized by a processor such as a CPU executing a program.
  • the present invention may be the above program or a recording medium on which the above program is recorded.
  • the program can be distributed via a transmission medium such as the Internet.
  • microcontrollers 100, 200, and 300 and their modifications according to the first to third embodiments may be combined.
  • the present invention can be applied to a microcontroller, and is particularly effective for a microcontroller equipped with a nonvolatile memory such as an EEPROM.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Abstract

 本発明に係るマイクロコントローラ(100)は、CPU(103)により指定されるアドレスが指定領域(155)の範囲内である場合、RAMアクセス動作を行い、当該アドレスが指定領域(155)に含まれない場合、フラッシュEEPROM(101)からプログラムを読み出すRAM制御部(107)を備える。RAM制御部(107)は、RAMアクセス動作として、バリッドビット(171)が無効状態を示す場合、フラッシュEEPROM(101)からプログラムを読み出し、読み出したプログラムをRAM(102)に格納するとともに、バリッドビット(171)を有効状態に変更し、バリッドビット(171)が有効状態を示す場合、RAM(102)に格納されているプログラムをCPU(103)へ出力する。

Description

マイクロコントローラ及びその制御方法
 本発明は、マイクロコントローラ及びその制御方法に関し、特に、不揮発性メモリを備えるマイクロコントローラに関する。
 従来の1チップマイクロコントローラは、それ自体を動作制御するためのプログラムが記憶されたEEPROM(Electrically Erasable Programmable ROM)で代表される不揮発性メモリをプログラムメモリとして使用する形となっている。このような不揮発性メモリをプログラムメモリとして使用することの利点は、電気的な操作によってEEPROMに記憶されたプログラムの変更が容易であることである。つまり、変更を必要とする記憶領域のプログラムのみを、ユーザ自身が書き換えることで、わざわざマスクを変更しなくてもよい。これにより、IC製造業者を頼ることなくコストを抑えてプログラムの異なる1チップマイクロコントローラを迅速に開発することができる。
 しかしながら、不揮発性メモリとしてEEPROMを用いる場合には、上述した利点を有する反面、EEPROMからプログラムコードを読み出して、1チップマイクロコントローラを動作させる場合に、EEPROMの消費電力が大きいという問題がある。
 このような問題を解決するための従来の技術として特許文献1記載の技術が知られている。特許文献1記載の技術は、不揮発性メモリよりも小容量のRAMを用いる。また、当該技術は、特定動作時に使われる小容量なプログラムを実行する場合に、動作に必要なプログラムを低消費電力であるRAMに格納するとともに、消費電力の大きい不揮発性メモリをディセーブル状態にする。そして、特許文献1記載の技術は、小容量のRAM上でプログラムを実行する。これにより、特許文献1記載の技術は、消費電力の低減を可能にしている。
特開2000-105701号公報
 しかしながら、特許文献1記載の技術では、RAM上でプログラムを実行する場合、まずRAM上で実行するプログラムをRAMに転送しておく必要がある。そのためには、プログラムを転送するためのハードウエア、又はソフトウエアが別途必要になる。また、RAMは予め決められて番地に配置されているため、RAM上でプログラムを実行する場合、分岐命令を実行するなど、RAMの配置アドレスにマイクロコントローラの実行PCを遷移させる必要がある。その結果、プログラム開発が複雑化してしまう。そのため、RAM上でプログラムを実行することで電力を低減する利点を著しく損ねてしまっている。
 そこで本発明は、消費電力の低減を可能にするとともに、プログラム開発の複雑化を低減できるマイクロコントローラを提供することを目的とする。
 上記目的を達成するために、本発明の一形態に係るマイクロコントローラは、前記マイクロコントローラの動作を制御するためのプログラムが格納された不揮発性メモリと、RAMと、前記不揮発性メモリのアドレスを指定し、前記不揮発性メモリに格納されている、当該アドレスのプログラムを実行するCPUと、前記不揮発性メモリのメモリ領域のうちの一部である指定領域を示す情報を保持する領域保持部と、前記RAMに格納されているプログラムが有効である有効状態、及び無効である無効状態の一方を示すバリッドビットを保持するバリッド保持部と、前記CPUにより指定される前記アドレスが前記指定領域の範囲内である場合、RAMアクセス動作を行い、前記CPUにより指定される前記アドレスが前記指定領域の範囲外である場合、前記不揮発性メモリから、前記CPUにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記CPUへ出力する不揮発性メモリアクセス動作を行なうRAM制御部とを備え、前記RAM制御部は、前記RAMアクセス動作として、前記バリッドビットが無効状態を示す場合、前記不揮発性メモリから、前記CPUにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記RAMに格納するとともに、前記バリッドビットを有効状態に変更し、前記バリッドビットが有効状態を示す場合、前記RAMに格納されている前記プログラムを前記CPUへ出力する。
 この構成によれば、本発明の一形態に係るマイクロコントローラは、不揮発性メモリに格納されているプログラムに対するCPUからの読み出し要求があった場合、当該プログラムをRAMに格納する。また、本発明の一形態に係るマイクロコントローラは、以降のCPUから当該プログラムへの読み出しの際には、RAMに格納された当該プログラムをCPUへ出力する。これにより、本発明の一形態に係るマイクロコントローラは、不揮発性メモリに対する読み出し動作が発生する頻度を低減できるので、消費電力を低減できる。さらに、本発明の一形態に係るマイクロコントローラは、CPUからの読み出し要求に応じて、自動的に不揮発性メモリに格納されているプログラムをRAMに転送できる。これにより、CPUは、RAMの存在を意識せずに処理を行うことができる。よって、本発明の一形態に係るマイクロコントローラは、プログラム開発の複雑化を低減できる。
 また、前記マイクロコントローラは、さらに、前記マイクロコントローラの動作モードを示す情報を保持するモード保持部を備え、前記RAM制御部は、前記モード保持部が予め定められた第1動作モードを示す情報を保持し、かつ、前記CPUにより指定される前記アドレスが前記指定領域の範囲内である場合、前記RAMアクセス動作を行い、前記モード保持部が前記第1動作モードと異なる第2動作モードを示す情報を保持する場合、前記不揮発性メモリアクセス動作を行ってもよい。
 この構成によれば、本発明の一形態に係るマイクロコントローラは、特定の第1動作モード時の消費電力を削減できる。また、本発明の一形態に係るマイクロコントローラは、第2動作モード時にはRAMを使用しないことにより、第2動作モード時の制御を簡素化できる。これにより、本発明の一形態に係るマイクロコントローラは、第2動作モード時の動作を速くできる。
 また、前記第1動作モードは、前記第2動作モードに比べ、低速のクロックで動作する低速モードであってもよい。
 この構成によれば、本発明の一形態に係るマイクロコントローラは、低速クロックで動作する、低消費電力が要求される動作モードにおいて、さらに、消費電力を削減できる。
 また、前記不揮発性メモリは、前記プログラムとして、前記第1動作モード時に使用される第1プログラムと、前記第2動作モード時に使用される第2プログラムとを格納し、前記RAMの容量は、前記第1プログラムの容量より大きく、前記指定領域は、前記第1プログラムが格納されている領域であってもよい。
 この構成によれば、本発明の一形態に係るマイクロコントローラでは、一旦、第1プログラムがRAMに転送された後には、RAMに格納されたプログラムの再度の書き換えが発生しない。これにより、本発明の一形態に係るマイクロコントローラは、不揮発性メモリに対する読み出し動作が発生する頻度をさらに低減できるので、消費電力をさらに低減できる。
 また、前記モード保持部は、前記マイクロコントローラの動作モードを示す情報として、前記CPUからアクセス可能なフラグを保持してもよい。
 この構成によれば、本発明の一形態に係るマイクロコントローラは、モード保持部の構成を簡略化できる。
 また、前記領域保持部は、前記指定領域を示す情報として、前記指定領域の先頭アドレスを示す情報を保持し、前記RAM制御部は、前記先頭アドレスから前記RAMの容量分の領域を前記指定領域と判定してもよい。
 この構成によれば、本発明の一形態に係るマイクロコントローラは、領域保持部の容量(レジスタ数)を削減できるので、当該マイクロコントローラのコストを削減できる。
 また、前記RAM制御部は、前記RAMアクセス動作を行なう場合、前記不揮発性メモリを停止状態にするモード切替部を備えてもよい。
 この構成によれば、本発明の一形態に係るマイクロコントローラは、不揮発性メモリの待機電力を削減できるので、さらに、消費電力を削減できる。
 なお、本発明は、このようなマイクロコントローラとして実現できるだけでなく、マイクロコントローラに含まれる特徴的な手段をステップとするマイクロコントローラの制御方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD-ROM等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
 さらに、本発明は、このようなマイクロコントローラの機能の一部又は全てを実現する半導体集積回路(LSI)として実現できる。
 以上より、本発明は、消費電力の低減を可能にするとともに、プログラム開発の複雑化を低減できるマイクロコントローラを提供できる。
図1は、本発明の実施の形態1に係るマイクロコントローラのブロック図である。 図2Aは、本発明の実施の形態1に係るフラッシュEEPROMに格納されているデータ例を示す図である。 図2Bは、本発明の実施の形態1に係るフラッシュEEPROMに格納されているデータ例を示す図である。 図3は、本発明の実施の形態1に係るRAMの構成例を示す図である。 図4は、本発明の実施の形態1に係るバリッド情報の一例を示す図である。 図5は、本発明の実施の形態1に係るマイクロコントローラによる処理のフローチャートである。 図6は、本発明の実施の形態1に係るマイクロコントローラの動作の一例を示す図である。 図7は、本発明の実施の形態2に係るマイクロコントローラのブロック図である。 図8は、本発明の実施の形態2に係る指定領域の一例を示す図である。 図9は、本発明の実施の形態2に係るマイクロコントローラによる処理のフローチャートである。 図10は、本発明の実施の形態3に係るマイクロコントローラのブロック図である。 図11は、本発明の実施の形態3に係るマイクロコントローラによる処理のフローチャートである。
 以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
 (実施の形態1)
 本発明の実施の形態1に係るマイクロコントローラ100は、フラッシュEEPROM101に格納されているプログラムに対してCPU103から読み出し要求があった場合には、当該プログラムをRAM102に格納する。また、マイクロコントローラ100は、以降のCPU103から当該プログラムへの読み出しの際には、RAM102に格納された当該プログラムをCPU103へ出力する。これにより、マイクロコントローラ100は、フラッシュEEPROM101の読み出し動作が発生する頻度を低減できるので、消費電力を低減できる。さらに、マイクロコントローラ100は、CPU103からの読み出し要求に応じて、自動的にフラッシュEEPROM101に格納されているプログラムをRAM102に転送できる。これにより、CPU103は、RAM102の存在を意識せずに処理を行うことができる。よって、本発明の一形態に係るマイクロコントローラ100は、プログラム開発の複雑化を低減できる。
 まず、本発明の実施の形態1に係るマイクロコントローラ100の構成を説明する。
 図1は、本発明の実施の形態1に係るマイクロコントローラ100のブロック図である。
 図1に示すマイクロコントローラ100は、不揮発性メモリであるフラッシュEEPROM101と、RAM102と、CPU103と、モード保持部104と、領域保持部105と、バリッド保持部106と、RAM制御部107と、データ選択部108とを備える。
 フラッシュEEPROM101には、マイクロコントローラ100の動作を制御するためのプログラムが格納されている。
 RAM102は、フラッシュEEPROM101に格納されているプログラムを一時的に格納するために用いられる。
 CPU103は、フラッシュEEPROM101のアドレスを指定し、フラッシュEEPROM101に格納されている、当該アドレスのプログラムを実行する。このCPU103は、高速クロックで動作する通常モードと、当該高速クロックより低速の低速クロックで動作する低速モード(低消費電力モード)とを有する。また、CPU103は、フラッシュEEPROM101に格納されているプログラムを読み出す際に、フラッシュEEPROM101のアドレスを指定するアドレス信号125と、当該アドレスのデータの読み出しを要求するアクセス要求信号124とを出力する。
 モード保持部104は、CPU103の動作モード(通常モード又は低速モード)を示す動作モード情報144を保持する。また、モード保持部104は、動作モード情報144として、例えば、CPU103からアクセス可能なフラグを保持するレジスタである。これにより、モード保持部104の構成を簡略化できる。
 領域保持部105は、フラッシュEEPROM101のメモリ領域のうちの一部である指定領域155を示す指定領域情報145を保持する。例えば、領域保持部105は、CPU103からアクセス可能な1ビット以上のレジスタで構成される。また、指定領域情報145は、例えば、指定領域155の先頭アドレスと最終アドレスとを指定する情報である。
 図2A及び図2Bは、フラッシュEEPROM101に格納されているプログラム及び指定領域155の一例を示す図である。
 図2A及び図2Bに示すように、フラッシュEEPROM101には、低速モード時に実行される低速モードプログラム160と、通常モード時に実行される通常モードプログラム161とが格納される。なお、フラッシュEEPROM101には、その他のプログラム、又は、プログラム以外のデータが格納されていてもよい。
 また、指定領域155は、低速モードプログラム160が格納されているアドレス領域のみを含む。例えば、図2Aに示すように、指定領域155は、低速モードプログラム160が格納されているアドレス領域の全てを含む。また、図2Bに示すように、指定領域155は、低速モードプログラム160が格納されているアドレス領域の一部のみを含んでもよい。
 バリッド保持部106は、RAM102に格納されているプログラムが有効である有効状態、及び無効であることを示す無効状態の一方を示すバリッドビット情報146を保持する。例えば、バリッド保持部106は、CPU103からアクセス可能な1ビット以上のレジスタで構成される。
 図3は、RAM102の構成例を示す図である。例えば、RAM102の容量は1Kバイトである。また、RAM102は、それぞれが32バイトの32個のライン165を含む。
 図4は、バリッドビット情報146の一例を示す図である。
 バリッドビット情報146は、複数のラインアドレス170と、各ラインアドレス170に対応付けられたバリッドビット171とを含む。例えば、バリッドビット情報146は、32個のラインアドレス170及びバリッドビット171を含む。
 また、各ラインアドレス170は、RAM102に含まれるライン165のいずれかに対応する。また、各ラインアドレス170は、指定領域155に含まれるフラッシュEEPROM101の32バイト単位のアドレスに対応付けられている。また、バリッドビット171は、当該バリッドビット171に対応するラインアドレス170のライン165に格納されているデータが有効「1」か無効「0」かを示す。
 なお、ここでは、バリッド保持部106は、複数のバリッドビット171を保持するが、バリッド保持部106は、少なくとも1以上のバリッドビット171を保持すればよい。
 RAM制御部107は、モード保持部104に保持されている動作モード情報144と、バリッド保持部106に保持されているバリッドビット情報146と、領域保持部105に保持されている指定領域情報145と、CPU103により生成されるアクセス要求信号124とに応じて、RAM102へのアクセスを制御する。また、RAM制御部107は、データ選択部108を制御するための選択制御信号126と、RAM102を制御するためのアクセス制御信号127と、フラッシュEEPROM101へ読み出しを要求するアクセス要求信号128とを生成する。
 データ選択部108は、RAM制御部107からの選択制御信号126に応じて、フラッシュEEPROM101からデータバス121へ出力されたデータと、RAM102からデータバス122へ出力されたデータとのいずれかを選択する。そして、データ選択部108は、選択したデータを、データバス123を介してCPU103へ出力する。
 また、RAM制御部107は、動作モード情報144により低速モードが指定され、かつ、アドレス信号125で指定されるアドレスである要求アドレス166が指定領域155の範囲内である場合、RAMアクセス動作を行う。
 また、RAMアクセス動作とは、(1)バリッドビット171が無効状態を示す場合、フラッシュEEPROM101から、要求アドレス166に格納されているプログラムを読み出し、読み出したプログラムをRAM102に格納するとともに、バリッドビット171を有効状態に変更し、(2)バリッドビット171が有効状態を示す場合、RAM102に格納されているプログラムをCPU103へ出力する動作である。
 また、RAM制御部107は、動作モード情報144により通常モードが指定されている場合と、動作モード情報144により低速モードが指定され、かつ、要求アドレス166が指定領域155の範囲外である場合とに、不揮発性メモリアクセス動作を行う。
 また、不揮発性メモリアクセス動作とは、フラッシュEEPROM101から、要求アドレス166に格納されているプログラムを読み出し、読み出したプログラムをCPU103へ出力する動作である。
 ここで、要求アドレス166が指定領域155の範囲内であるか否かの判定処理には時間がかかる。よって、通常モードでRAM102を使用しないことにより、通常モードでの制御を簡素化できる。これにより、通常モードの動作を速くできる。
 以下、このような構成のマイクロコントローラ100における動作を、図5に示すフローチャートを参照して説明する。
 まず、CPU103は、指定領域155を領域保持部105に設定する(S101)。
 また、CPU103は、動作モードをモード保持部104に設定する(S102)。
 次に、RAM制御部107は、CPU103から出力されるアクセス要求信号124を確認する(S103)。
 アクセス要求信号124が出力されると(S103でYes)、RAM制御部107は、動作モード情報144が示す動作モードを確認する(S104)。
 動作モード情報144が低速モードを示す場合(S104でYes)、次に、RAM制御部107は、CPU103から出力されたアドレス信号125が示す要求アドレス166が、指定領域情報145が示す指定領域155の範囲内であるか否かを判定する(S105)。
 要求アドレス166が指定領域155の範囲内である場合(S105でYes)、次に、RAM制御部107は、バリッドビット情報146に含まれる複数のバリッドビット171のうち、要求アドレス166に対応するラインアドレス170のバリッドビット171を確認する。これにより、RAM制御部107は、フラッシュEEPROM101の要求アドレス166に格納されているデータである要求データがRAM102に格納されているか否かを判定する(S106)。
 なお、バリッドビット171は初期状態で無効状態「0」が設定されており、RAM102のデータが無効状態となっている。
 要求アドレス166に対応するバリッドビット171が無効状態「0」の場合(S106でNo)、RAM制御部107は、要求データをフラッシュEEPROM101から読み出し、読み出した要求データを32ラインに区切ったRAM102の該当ライン165に書き込む(S107)。
 図6は、このステップS107の動作の具体例を示す図である。例えば、図6に示す要求アドレス166がアドレス信号125で指定されるとする。
 この場合、RAM制御部107は、要求アドレス166を含む転送アドレス範囲167を指定したアクセス要求信号128をフラッシュEEPROM101へ送る。ここで、転送アドレス範囲167とは、一つのラインアドレス170及びバリッドビット171に対応する、例えば32バイトのデータが格納されるアドレス範囲である。具体的には、要求アドレス166を32n+x(nは0~31のいずれか。xは0~31のいずれか)とすると、転送アドレス範囲167は、32n+0~32n+31のアドレス範囲である。
 これにより、フラッシュEEPROM101は、転送アドレス範囲167に格納されている32バイトのデータである転送データをデータバス121へ出力する。
 ここで、一つの転送アドレス範囲167は、バリッドビット情報146に含まれるラインアドレス170のいずれかに対応している。また、ラインアドレス170は、一つのバリッドビット171、及びRAM102に含まれる一つのライン165と対応している。つまり、要求アドレス166に対して、それぞれ一つのラインアドレス170、バリッドビット171、ライン165及びRAM102のアドレスが対応する。
 次に、RAM制御部107は、RAM102に含まれる複数のライン165のうち、要求アドレス166に対応するライン165Aへの転送データの書き込みを指示するアクセス制御信号127をRAM102へ送る。これにより、RAM102は、データバス121の32バイトの転送データをライン165Aへ格納する。
 なお、RAM制御部107は、32バイトの転送データに含まれる1バイトのデータごとに、フラッシュEEPROM101からの読み出し及びRAM102への書き込みを行なってもよいし、32バイトの転送データをフラッシュEEPROM101から読み出した後、当該32バイトの転送データをRAM102へ書き込んでもよい。
 また、例えば、フラッシュEEPROM101の各転送アドレス範囲167のデータを、RAM102のどのライン165に格納するかは予め定められている。言い換えると、フラッシュEEPROM101の指定領域155に含まれる各アドレスのデータを、RAM102のどのアドレスに格納するかは予め定められている。よって、RAM制御部107は、指定された転送アドレス範囲167(要求アドレス166)に対して、データ書き込み先のアドレス(ライン165)を自動的に決定できる。
 具体的には、例えば、指定領域155の先頭アドレスをyとすると、フラッシュEEPROM101のアドレスy+32m+0~y+32m+31(mは0~31のいずれか)のアドレス範囲のデータは、RAM102のアドレス32m+0~32m+31のアドレス範囲に書き込まれる。例えば、m=0の場合、フラッシュEEPROM101のアドレスy+0~y+31のアドレス範囲のデータは、RAM102のアドレス0~31のアドレス範囲に書き込まれる。
 次に、RAM制御部107は、要求アドレス166に対応するバリッドビット171に有効状態「1」に設定する(S108)。
 この間、CPU103はメモリアクセス待ち状態となる。また、RAM制御部107は、バリッドビット171の更新後、再度ステップS106でバリッドビット171を確認する。この場合、要求アドレス166に対応するバリッドビット171は有効状態「1」なので(S106でYes)、次に、RAM制御部107は、RAM102から、要求データを読み出し、読み出した要求データをCPU103へ出力する(S109)。具体的には、RAM制御部107は、要求アドレス166に対応するアドレスのデータの読み出しを指示するアクセス制御信号127をRAM102へ送る。これにより、RAM102は、要求アドレス166に対応するアドレスの要求データをデータバス122に出力する。また、RAM制御部107は、データバス122を選択するように指示する選択制御信号126をデータ選択部108に送る。これにより、データ選択部108は、データバス122の要求データを、データバス123を介してCPU103へ出力する。
 一方、動作モード情報144が低速モード以外を示す場合(S104でNo)、又は、要求アドレス166が指定領域155の範囲外である場合(S105でNo)、RAM制御部107は、直接フラッシュEEPROM101から要求データを読み出し、読み出した要求データをCPU103へ出力する(S110)。具体的には、RAM制御部107は、フラッシュEEPROM101へアクセス要求信号128を送る。これにより、フラッシュEEPROM101は、要求アドレス166に格納されている要求データをデータバス121へ出力する。また、RAM制御部107は、データバス121を選択するように指示する選択制御信号126をデータ選択部108に送る。これにより、データ選択部108は、フラッシュEEPROM101から出力された、データバス121の要求データを、データバス123を介してCPU103へ出力する。
 また、ステップS109又はステップS110の後において、プログラムが終了していない場合(S111でNo)、再度、ステップS103以降の処理が行われる。また、ステップS103~ステップS110の処理が、プログラムが終了する(S111でYes)まで、繰り返し行われる。
 以上の動作により、低速モードであり、かつ、CPU103が実行するプログラムがRAM102に格納されている場合、RAM102からプログラムが読み出される。これにより、マイクロコントローラ100は、フラッシュEEPROM101の読み出し動作の回数を削減できるので、フラッシュEEPROM101の読み出し動作により消費される電力を抑えることができる。よって、マイクロコントローラ100全体として低消費電力化を実現できる。
 また、ソフトウエア(プログラム)側からは、RAM102の存在を意識する必要がない。よって、マイクロコントローラ100は、RAM102を用いない場合と同一のソフトウエアを用いることができるので、ソフトウエア開発の複雑化を抑えられる。
 このように、本発明の実施の形態1に係るマイクロコントローラ100は、消費電力の低減を可能にするとともに、プログラム開発の複雑化を低減できる。
 なお、上記説明では、バリッドビット171が「0」の場合(S106でNo)、ステップS107及びS108を実施し、再度ステップS106に遷移するとしたが、ステップS107でフラッシュEEPROM101から読み出した要求データをCPU103に出力したうえで、ステップS111へ遷移してもよい。
 また、図4に示す処理手順は、一例であり、同様の結果を得られる範囲で、各ステップの順番を入れ替えてもよいし、一部を同時に行なってもよい。例えば、ステップS104、S105及びS106の順序は、図4に示す順序以外でもよいし、一部を同時に行なってもよい。
 また、上記説明では、RAM102の容量は1Kバイトとしたが、RAM102の容量はこれに限定されない。なお、RAM102の容量は、フラッシュEEPROM101に格納されている低速モードプログラム160の容量より大きいほうが好ましい。これにより、一旦、低速モードプログラム160がRAM102に転送された後には、RAM102に格納されたプログラムの再度の書き換えが発生しない。これにより、マイクロコントローラ100は、フラッシュEEPROM101の読み出し動作が発生する頻度をさらに低減できるので、消費電力をさらに低減できる。
 また、上記説明では、フラッシュEEPROMを用いる例を示したが、FeRAM等の書き換え可能な不揮発性メモリであれば他の不揮発性メモリを用いてもよい。
 また、上記説明では、低速モード時において、RAM102を用いるとしたが、他の特定の動作モード時において、RAM102を用いてもよい。例えば、通常モード時において、RAM102を用いてもよい。この場合でも、同様の効果を実現できる。ただし、上述したような低速モード時において、RAM102を用いることにより、当該低速モードに要求される低消費電力を、さらに改善できるので、より好ましい。
 なお、上記説明では、領域保持部105は、レジスタで構成されるとしたが、予め定められた固定の指定領域155を示す指定領域情報145を保持してもよい。これにより、レジスタを削除できるので、マイクロコントローラ100のコストを削減できる。
 また、領域保持部105は、複数の指定領域155を示す指定領域情報145を保持してもよい。
 (実施の形態2)
 本発明の実施の形態2では、上述した実施の形態1に係るマイクロコントローラ100の変形例について説明する。
 図7は、本発明の実施の形態2に係るマイクロコントローラ200のブロック図である。なお、図1と同様の要素には同一の符号を付している。また、以下では、主に相違点を説明し、重複する説明は省略する。
 図7に示すマイクロコントローラ200は、図1に示すマイクロコントローラ100の構成に対して、領域保持部205の構成が領域保持部105と異なる。
 ここで、フラッシュEEPROM101はメモリ空間の0x40000000番地から0x400FFFFF番地に割り当てられているとする。また、CPU103は、32ビットのアドレス信号125によりフラッシュEEPROM101のアドレスを指定する。
 領域保持部205は、フラッシュEEPROM101のベースアドレス255を示すベースアドレス情報245を保持する。このベースアドレス255は、図8に示すように、指定領域155の先頭アドレスである。また、このベースアドレス255は、フラッシュEEPROM101の32ビットのアドレスのうち上位22ビットを指定するアドレスである。例えば、領域保持部205は、CPU103からアクセス可能なレジスタで構成される。
 また、RAM制御部107は、ベースアドレス情報245が示すベースアドレス255から、RAM102の容量分の1Kバイトの空間をRAM102にデータを格納する指定領域155と判定する。
 以下、このような構成のマイクロコントローラ200における動作を、図9に示すフローチャートを参照して説明する。
 まず、CPU103は、ベースアドレス情報245を領域保持部205に設定する(S201)。ここで、低速モードプログラム160の領域を予めRAM102の容量である1Kバイト内に収まるようにしておき、アドレスの下位10ビットが0x0000から低速モードプログラム160が始まるように配置しておく。
 なお、ステップS102以降の処理は、実施の形態1と同様であり、説明は省略する。
 以上より、本発明の実施の形態2に係るマイクロコントローラ200は、上述した実施の形態1に係るマイクロコントローラ100の効果に加え、さらに、予めRAM102へ格納するプログラムの配置領域を制限することで、領域保持部205のレジスタ数を削減できる。これにより、マイクロコントローラ200のコストを削減できる。
 なお、上記説明では、領域保持部205は、レジスタで構成されるとしたが、予め定められた固定のベースアドレス255を示すベースアドレス情報245を保持してもよい。これにより、レジスタを削除できるので、マイクロコントローラ200のコストをさらに削減できる。
 また、領域保持部205は、複数のベースアドレス255を示すベースアドレス情報245を保持してもよい。これにより、よりプログラム領域に自由度を与えることができる。
 また、上記説明では、ベースアドレス255は、フラッシュEEPROM101のアドレスのうち上位ビットを指定するアドレスであるとしたが、フラッシュEEPROM101のアドレスそのものを指定するアドレスでもよい。この場合でも、実施の形態1のように、先頭アドレスと最終アドレスとを保持する場合に比べて、レジスタ数を削減できる。
 (実施の形態3)
 本発明の実施の形態3では、上述した実施の形態1に係るマイクロコントローラ100の変形例について説明する。
 図10は、本発明の実施の形態3に係るマイクロコントローラ300のブロック図である。なお、図1と同様の要素には同一の符号を付している。また、以下では、主に相違点を説明し、重複する説明は省略する。
 図10に示すマイクロコントローラ300は、図1に示すマイクロコントローラ100の構成に対して、RAM制御部307の構成がRAM制御部107と異なる。具体的には、RAM制御部307は、RAM制御部107の機能に加え、さらに、モード切替部317を備える。
 ここで、フラッシュEEPROM101は、動作速度が速い高速リードモードと、高速リードモード時より動作速度が遅く、かつ、消費電力が少ない低速リードモードと、低速リードモード時よりもさらに消費電力が少ない停止状態である停止モードとを有する。
 モード切替部317は、フラッシュEEPROM101の動作モード(高速リードモード、低速リードモード及び停止モード)を切り替えるモード切替信号320を生成する。具体的には、モード切替部317は、CPU103の動作モードが通常モードの場合、フラッシュEEPROM101の動作モードを高速リードモードに設定する。また、モード切替部317は、CPU103の動作モードが低速モードである場合、フラッシュEEPROM101の動作モードを低速リードモードに設定する。さらに、モード切替部317は、CPU103の動作モードが低速モードであり、かつ、RAM102からデータを読み出す場合、つまり、RAMアクセス動作を行なう場合には、フラッシュEEPROM101の動作モードを停止モードに設定する。
 このような構成のマイクロコントローラ300における動作を、図11に示すフローチャートを参照して説明する。なお、図11では、図5に示す処理に対して、ステップS301~S304の処理が追加されている。また、その他の処理は、実施の形態1と同様であり、説明は省略する。
 動作モード情報144で低速モードが示され(S104でYes)、かつ、要求アドレス166が指定領域155の範囲内であり(S105でYes)、かつ、要求アドレス166に対応するバリッドビット171が無効状態「0」の場合(S106でNo)、モード切替部317は、フラッシュEEPROM101の動作モードを低速リードモードに設定する(S301)。その後、RAM制御部107は、要求データを、フラッシュEEPROM101から読み出し、読み出した要求データをRAM102に書き込む(S107)。
 また、動作モード情報144で低速モードが示され(S104でYes)、かつ、要求アドレス166が指定領域155の範囲内であり(S105でYes)、かつ、要求アドレス166に対応するバリッドビット171が有効状態「1」の場合(S106でYes)、モード切替部317は、フラッシュEEPROM101の動作モードを停止モードに設定する(S302)。その後、RAM制御部107は、RAM102から要求データを読み出し、読み出した要求データをCPU103へ出力する(S109)。
 また、動作モード情報144で低速モードが示され(S104でYes)、かつ、要求アドレス166が指定領域155の範囲外である場合(S105でNo)、モード切替部317は、フラッシュEEPROM101の動作モードを低速リードモードに設定する(S303)。その後、RAM制御部107は、直接フラッシュEEPROM101から要求データを読み出し、読み出した要求データをCPU103へ出力する(S110)。
 また、動作モード情報144が低速モード以外を示す場合(S104でNo)、モード切替部317は、フラッシュEEPROM101の動作モードを高速リードモードに設定する(S304)。その後、RAM制御部107は、直接フラッシュEEPROM101から要求データを読み出し、読み出した要求データをCPU103へ出力する(S110)。
 以上のように、マイクロコントローラ300は、低速モードプログラム160をRAM102から読み出す場合に、フラッシュEEPROM101を停止モードに設定し、当該フラッシュEEPROM101をディセーブル状態にする。これにより、マイクロコントローラ300は、フラッシュEEPROM101に対する読み出し回数を低減することによる消費電力の削減に加え、待機電力も削減できる。
 このように、本発明の実施の形態3に係るマイクロコントローラ300は、実施の形態1に係るマイクロコントローラ100の効果に加え、さらに、消費電力を削減できる。
 また、上記実施の形態1~3に係るマイクロコントローラ100、200及び300は、典型的には、1チップの半導体集積回路(LSI)により実現される。なお、マイクロコントローラ100、200及び300に含まれる処理部は、個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
 また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 また、本発明の実施の形態1~3に係るマイクロコントローラ100、200及び300の機能の一部又は全てを、CPU等のプロセッサがプログラムを実行することにより実現してもよい。
 さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
 また、上記実施の形態1~3に係る、マイクロコントローラ100、200及び300、及びその変形例の機能のうち少なくとも一部を組み合わせてもよい。
 また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。さらに、ハイ/ロー(「0」/「1」)により表される論理レベルは、本発明を具体的に説明するために例示するものであり、例示された論理レベルの異なる組み合わせにより、同等な結果を得ることも可能である。
 更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。
 本発明は、マイクロコントローラに適用でき、特に、EEPROM等の不揮発性メモリを搭載したマイクロコントローラに有効である。
 100、200、300 マイクロコントローラ
 101 フラッシュEEPROM
 102 RAM
 103 CPU
 104 モード保持部
 105、205 領域保持部
 106 バリッド保持部
 107、307 RAM制御部
 108 データ選択部
 121、122、123 データバス
 124、128 アクセス要求信号
 125 アドレス信号
 126 選択制御信号
 127 アクセス制御信号
 144 動作モード情報
 145 指定領域情報
 146 バリッドビット情報
 155 指定領域
 160 低速モードプログラム
 161 通常モードプログラム
 165、165A ライン
 166 要求アドレス
 167 転送アドレス範囲
 170 ラインアドレス
 171 バリッドビット
 245 ベースアドレス情報
 255 ベースアドレス
 317 モード切替部
 320 モード切替信号

Claims (9)

  1.  マイクロコントローラであって、
     前記マイクロコントローラの動作を制御するためのプログラムが格納された不揮発性メモリと、
     RAMと、
     前記不揮発性メモリのアドレスを指定し、前記不揮発性メモリに格納されている、当該アドレスのプログラムを実行するCPUと、
     前記不揮発性メモリのメモリ領域のうちの一部である指定領域を示す情報を保持する領域保持部と、
     前記RAMに格納されているプログラムが有効である有効状態、及び無効である無効状態の一方を示すバリッドビットを保持するバリッド保持部と、
     前記CPUにより指定される前記アドレスが前記指定領域の範囲内である場合、RAMアクセス動作を行い、前記CPUにより指定される前記アドレスが前記指定領域の範囲外である場合、前記不揮発性メモリから、前記CPUにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記CPUへ出力する不揮発性メモリアクセス動作を行なうRAM制御部とを備え、
     前記RAM制御部は、前記RAMアクセス動作として、
     前記バリッドビットが無効状態を示す場合、前記不揮発性メモリから、前記CPUにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記RAMに格納するとともに、前記バリッドビットを有効状態に変更し、
     前記バリッドビットが有効状態を示す場合、前記RAMに格納されている前記プログラムを前記CPUへ出力する
     マイクロコントローラ。
  2.  前記マイクロコントローラは、さらに、
     前記マイクロコントローラの動作モードを示す情報を保持するモード保持部を備え、
     前記RAM制御部は、
     前記モード保持部が予め定められた第1動作モードを示す情報を保持し、かつ、前記CPUにより指定される前記アドレスが前記指定領域の範囲内である場合、前記RAMアクセス動作を行い、
     前記モード保持部が前記第1動作モードと異なる第2動作モードを示す情報を保持する場合、前記不揮発性メモリアクセス動作を行う
     請求項1記載のマイクロコントローラ。
  3.  前記第1動作モードは、前記第2動作モードに比べ、低速のクロックで動作する低速モードである
     請求項2記載のマイクロコントローラ。
  4.  前記不揮発性メモリは、前記プログラムとして、前記第1動作モード時に使用される第1プログラムと、前記第2動作モード時に使用される第2プログラムとを格納し、
     前記RAMの容量は、前記第1プログラムの容量より大きく、
     前記指定領域は、前記第1プログラムが格納されている領域である
     請求項2又は3記載のマイクロコントローラ。
  5.  前記モード保持部は、前記マイクロコントローラの動作モードを示す情報として、前記CPUからアクセス可能なフラグを保持する
     請求項2~4のいずれか1項に記載のマイクロコントローラ。
  6.  前記領域保持部は、前記指定領域を示す情報として、前記指定領域の先頭アドレスを示す情報を保持し、
     前記RAM制御部は、前記先頭アドレスから前記RAMの容量分の領域を前記指定領域と判定する
     請求項1~5のいずれか1項に記載のマイクロコントローラ。
  7.  前記RAM制御部は、
     前記RAMアクセス動作を行なう場合、前記不揮発性メモリを停止状態にするモード切替部を備える
     請求項1~6のいずれか1項に記載のマイクロコントローラ。
  8.  マイクロコントローラを制御する制御方法であって、
     前記マイクロコントローラは、
     前記マイクロコントローラの動作を制御するためのプログラムが格納された不揮発性メモリと、
     RAMと、
     前記不揮発性メモリのアドレスを指定し、前記不揮発性メモリに格納されている、当該アドレスの前記プログラムを実行するCPUと、
     前記不揮発性メモリのメモリ領域のうちの一部である指定領域を示す情報を保持する領域保持部と、
     前記RAMに格納されているプログラムが有効である有効状態、及び無効であることを示す無効状態の一方を示すバリッドビットを保持するバリッド保持部とを備え、
     前記制御方法は、
     前記CPUにより指定される前記アドレスが前記指定領域の範囲内である場合、RAMアクセス動作を行うRAMアクセスステップと、
     前記CPUにより指定される前記アドレスが前記指定領域の範囲外である場合、前記不揮発性メモリから、前記CPUにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記CPUへ出力する不揮発性メモリアクセス動作を行なう不揮発性メモリアクセスステップとを含み、
     前記RAMアクセスステップは、
     前記バリッドビットが無効状態を示す場合、前記不揮発性メモリから、前記CPUにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記RAMに格納するとともに、前記バリッドビットを有効状態に変更するステップと、
     前記バリッドビットが有効状態を示す場合、前記RAMに格納されている前記プログラムを前記CPUへ出力するステップとを含む
     マイクロコントローラの制御方法。
  9.  マイクロコントローラを備える半導体集積回路であって、
     前記マイクロコントローラの動作を制御するためのプログラムが格納された不揮発性メモリと、
     RAMと、
     前記不揮発性メモリのアドレスを指定し、前記不揮発性メモリに格納されている、当該アドレスのプログラムを実行するCPUと、
     前記不揮発性メモリのメモリ領域のうちの一部である指定領域を示す情報を保持する領域保持部と、
     前記RAMに格納されているプログラムが有効である有効状態、及び無効である無効状態の一方を示すバリッドビットを保持するバリッド保持部と、
     前記CPUにより指定される前記アドレスが前記指定領域の範囲内である場合、RAMアクセス動作を行い、前記CPUにより指定される前記アドレスが前記指定領域の範囲外である場合、前記不揮発性メモリから、前記CPUにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記CPUへ出力する不揮発性メモリアクセス動作を行なうRAM制御部とを備え、
     前記RAM制御部は、前記RAMアクセス動作として、
     前記バリッドビットが無効状態を示す場合、前記不揮発性メモリから、前記CPUにより指定される前記アドレスのプログラムを読み出し、読み出したプログラムを前記RAMに格納するとともに、前記バリッドビットを有効状態に変更し、
     前記バリッドビットが有効状態を示す場合、前記RAMに格納されている前記プログラムを前記CPUへ出力する
     半導体集積回路。
PCT/JP2011/000843 2010-07-13 2011-02-16 マイクロコントローラ及びその制御方法 WO2012008068A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011800342408A CN102985916A (zh) 2010-07-13 2011-02-16 微控制器及其控制方法
US13/738,448 US20130132659A1 (en) 2010-07-13 2013-01-10 Microcontroller and method of controlling microcontroller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-159201 2010-07-13
JP2010159201A JP2012022479A (ja) 2010-07-13 2010-07-13 マイクロコントローラ及びその制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/738,448 Continuation US20130132659A1 (en) 2010-07-13 2013-01-10 Microcontroller and method of controlling microcontroller

Publications (1)

Publication Number Publication Date
WO2012008068A1 true WO2012008068A1 (ja) 2012-01-19

Family

ID=45469088

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/000843 WO2012008068A1 (ja) 2010-07-13 2011-02-16 マイクロコントローラ及びその制御方法

Country Status (4)

Country Link
US (1) US20130132659A1 (ja)
JP (1) JP2012022479A (ja)
CN (1) CN102985916A (ja)
WO (1) WO2012008068A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10184272B2 (en) * 2015-07-01 2019-01-22 Dominick S. LEE Installation-free rechargeable door locking apparatus, systems and methods
CN107221349B (zh) * 2017-08-03 2023-05-16 深圳市博巨兴微电子科技有限公司 一种基于flash存储器的微控制器芯片
CN108090366B (zh) * 2017-12-05 2020-02-04 深圳云天励飞技术有限公司 数据保护方法及装置、计算机装置及可读存储介质
CN111599390B (zh) * 2020-05-25 2022-02-18 无锡中微亿芯有限公司 基于动态可重配技术的块状存储单元

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11288409A (ja) * 1998-04-02 1999-10-19 Nec Ic Microcomput Syst Ltd マイクロコンピュータ
JP2000105701A (ja) * 1998-09-28 2000-04-11 Nec Corp データ処理装置
JP2001243211A (ja) * 2000-02-29 2001-09-07 Mitsubishi Electric Corp マイクロコンピュータ
JP2002007374A (ja) * 2000-06-21 2002-01-11 Hitachi Ltd マイクロコンピュータ
JP2004070854A (ja) * 2002-08-09 2004-03-04 Renesas Technology Corp データプロセッサ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539456B2 (en) * 1999-10-13 2003-03-25 Intel Corporation Hardware acceleration of boot-up utilizing a non-volatile disk cache
US6785767B2 (en) * 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
US7152170B2 (en) * 2003-02-20 2006-12-19 Samsung Electronics Co., Ltd. Simultaneous multi-threading processor circuits and computer program products configured to operate at different performance levels based on a number of operating threads and methods of operating
US8392655B2 (en) * 2003-09-30 2013-03-05 Lenovo (Singapore) Pte Ltd. Apparatus for reducing accesses to levels of a storage hierarchy in a computing system
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器
JP2009271606A (ja) * 2008-04-30 2009-11-19 Toshiba Corp 情報処理装置およびコンパイル方法
JP4909963B2 (ja) * 2008-09-09 2012-04-04 株式会社東芝 統合メモリ管理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11288409A (ja) * 1998-04-02 1999-10-19 Nec Ic Microcomput Syst Ltd マイクロコンピュータ
JP2000105701A (ja) * 1998-09-28 2000-04-11 Nec Corp データ処理装置
JP2001243211A (ja) * 2000-02-29 2001-09-07 Mitsubishi Electric Corp マイクロコンピュータ
JP2002007374A (ja) * 2000-06-21 2002-01-11 Hitachi Ltd マイクロコンピュータ
JP2004070854A (ja) * 2002-08-09 2004-03-04 Renesas Technology Corp データプロセッサ

Also Published As

Publication number Publication date
US20130132659A1 (en) 2013-05-23
CN102985916A (zh) 2013-03-20
JP2012022479A (ja) 2012-02-02

Similar Documents

Publication Publication Date Title
KR100843280B1 (ko) 메모리 시스템 및 그것의 데이터 전송 방법
JP3892851B2 (ja) メモリカード及び半導体装置
JP4869713B2 (ja) マルチチップパッケージデバイス
KR20070118533A (ko) 불휘발성 메모리
JP2007294039A (ja) 不揮発性半導体記憶装置
WO2012008068A1 (ja) マイクロコントローラ及びその制御方法
US20050268026A1 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
JP2012203940A (ja) 半導体記憶装置及びその動作環境設定方法
KR20060002664A (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
JP2005092882A (ja) データ伝送時間を減少させるデュアルバッファリングメモリシステム及びこれに対する制御方法
WO2006051779A1 (ja) 不揮発性記憶装置の制御方法、メモリコントローラ及び不揮発性記憶装置
JP3827540B2 (ja) 不揮発性半導体記憶装置および情報機器
JP2007207285A (ja) 半導体メモリ、メモリシステム
US20090119424A1 (en) Method for storing data
JP2004355699A (ja) 不揮発性記憶装置及び半導体記憶装置
KR20090120675A (ko) 불휘발성 메모리 소자의 어드레스 입력 방법 및 동작 방법
JP2005182538A (ja) データ転送装置
JP2010140325A (ja) マイクロコンピュータ制御装置
KR20030038320A (ko) 반도체 메모리
JP2007317078A (ja) 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
US20230335198A1 (en) Semiconductor device
JP2011159226A (ja) 不揮発性記憶装置、ホスト装置および記憶システム、データ記憶方法、および、プログラム
JP3866269B2 (ja) マイクロコンピュータ
JP2008103996A (ja) 半導体集積回路装置
JP2007026136A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180034240.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11806405

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11806405

Country of ref document: EP

Kind code of ref document: A1