EP0931292A1 - Microcontroleur comportant une memoire interne et un circuit pour generer un signal de validation associe - Google Patents

Microcontroleur comportant une memoire interne et un circuit pour generer un signal de validation associe

Info

Publication number
EP0931292A1
EP0931292A1 EP97927936A EP97927936A EP0931292A1 EP 0931292 A1 EP0931292 A1 EP 0931292A1 EP 97927936 A EP97927936 A EP 97927936A EP 97927936 A EP97927936 A EP 97927936A EP 0931292 A1 EP0931292 A1 EP 0931292A1
Authority
EP
European Patent Office
Prior art keywords
internal memory
microcontroller
memory
unit
chip select
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.)
Withdrawn
Application number
EP97927936A
Other languages
German (de)
English (en)
Inventor
Wade L. Williams
David A. Spilo
Richard T. Calvin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of EP0931292A1 publication Critical patent/EP0931292A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/786Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module
    • 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
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers

Definitions

  • TITLE A MICROCONTROLLER INCLUDING AN INTERNAL MEMORY UNIT AND
  • This invention relates to the manufacture of integrated circuits and more particularly to the manufacture of microcontrollers.
  • a typical computer system includes a microprocessor secured within its own semiconductor device package. Several separately-packaged support circuits are connected to the microprocessor. These support circuits perform support functions including communication functions and memory interface functions.
  • a microcontroller is an integrated circuit which incorporates a microprocessor core along with one or more support circuits on the same monolithic semiconductor substrate (i.e., chip). Computer systems which employ microcontrollers may thus be formed using fewer semiconductor devices. Advantages of such systems include lower fabrication costs and higher reliabilities. Microcontrollers find applications in industrial and commercial products including control systems, computer terminals, hand-held communications devices (e.g., cellular telephones), photocopier machines, facsimile machines, and hard disk drives.
  • the 80186 and 80188 microcontrollers were first introduced in the early 1980's.
  • the 80186 microcontroller contains 16-bit registers and functional units which communicate via a 16-bit internal data bus.
  • the 80186 microcontroller has 16 data exchange terminals which may be connected to devices external to the microcontroller.
  • the 80188 microcontroller also has 16-bit internal registers and a 16-bit internal data bus, but has only 8 data exchange terminals.
  • a memory subsystem includes a memory interface unit and one or more separately-packaged memory devices.
  • the memory interface unit is coupled between the microprocessor and the memory devices, and generates control signals required to store data within and retrieve stored information from the memory devices.
  • Each of the memory devices includes a chip select terminal coupled to receive a chip select signal generated by the memory interface unit. Memory devices which are active during a given memory access receive an asserted chip select signal.
  • the 80186 and 80188 microcontrollers incorporate the functions of the memory interface unit, thus eliminating the need for the memory interface unit and allowing the one or more separately-packaged memory devices to be directly connected to the microcontroller.
  • a chip select unit within 80186 and 80188 microcontrollers generates several different chip select signals. Each chip select signal is typically associated with a defined section of a physical memory space of the microcontroller. Each chip select signal is driven upon a dedicated terminal located on the microcontroller package (e.g., a package pin).
  • a chip select terminal of a separately-packaged memory device is connected to a particular chip select terminal of the microprocessor, thus enabling the memory device when a memory access occurs within the section of the physical address space associated with the chip select signal.
  • the 80186 microcontroller includes a bus interface unit which generates a signal to indicate which 8-bit byte of a 16-bit value present on its 16 data exchange terminals is active during a given memory access operation.
  • the 80186 and 80188 microcontrollers have 20 address pins, and may thus generate 2 20 unique memory addresses. As a result, the 80186 and 80188 microcontrollers may access 2 20 unique memory locations (i.e., 1,048,5768-bit bytes of memory, or a I Mbyte physical address space). As with all x86 microprocessors, the 80186 and 80188 microcontrollers begin fetching instructions at memory location FFFFOh near the uppermost portion of the I Mbyte physical address space following assertion of a reset signal. Assertion of the reset signal is typically used to initialize the microprocessor immediately following the application of electrical power. The reset signal initiates a "'boot" sequence.
  • any volatile memory device including location FFFFOh i.e., mapped into the uppermost portion of the physical address space
  • FFFFOh mapped into the uppermost portion of the physical address space
  • non-volatile memory devices include various types of read only memory (ROM) devices.
  • An operating system is a collection of software programs which provide file management, input/output control, and a controlled environment for executions of applications programs. MS-DOS® and Windows NTTM (Microsoft Corp.) are common operating systems.
  • An application program is a computer program which performs a specific function and is designed to operate within a controlled environment provided by an operating system.
  • a typical operating system loads an interrupt vector table into the lowermost 1,024 (Ik) bytes of memory starting at memory location OOOOOh.
  • the interrupt vector table contains the starting addresses of interrupt service routines which handle interrupts arising from devices arranged external to the microcontroller.
  • An external interrupt may originate from a peripheral device which is ready to transmit data to or receive data from the microcontroller (i.e., requires servicing by the microcontroller).
  • the interrupt service routines themselves are also typically stored in the lowermost portion of the memory address space (i.e., the portion of the address space including location OOOOOh), along with data and other routines used by the operating system. Examples of data needed by the operating system include memory addresses assigned to various peripheral devices.
  • the routines and data needed by the operating system may be loaded into volatile memory from an external source during system initialization, or may be permanently stored in non-volatile memory mapped to the lowermost portion of the address space.
  • the section of the lowermost portion of the address space dedicated to operating system functions is not available for use by application programs.
  • the memory address spaces of the 80186 and 80188 microcontrollers are partitioned into an upper memory address area, a lower memory address area, and a midrange memory address area.
  • the upper memory address area is bounded at a high end by address FFFFFh, the highest address in the physical address space
  • the upper memory address area typically includes one or more non-volatile memory devices containing microprocessor initialization instructions
  • the chip select unit generates a single upper memory chip select signal for the one or more memory devices located within (i e , mapped into) the upper memory address area
  • the lower memory address area is bounded at a low end by address OOOOOh, the lowest address in the physical address space As described above, a section of the lower memory address area is dedicated to the operating system
  • the lower memory address area may include one or more volatile memory devices, or may include one or more non-volatile memory devices containing operating system data and routines
  • the chip select unit generates a single lower memory chip select signal for the one or more memory devices mapped into the
  • the midrange memorv address area is located between the upper and lower memory address areas, and is available for application programs and associated data
  • a single memory block consisting of from 8k to 512k bytes of contiguous memorv, may be mapped into the bounds of the midrange memory address area
  • This memorv block may be divided into four sections
  • the chip select unit is capable of generating up to four midrange memory chip select signals, one for each memory block section
  • Each midrange memory chip select signal may be used to enable one or more devices mapped into a given memory block section
  • Finite amounts of time are required to transfer data between a microcontroller and an external memory device Systems with higher performance levels must accomplish such transfers in shorter amounts of time In general, the amount of time required to accomplish such a transfer depends upon the speed of the memory device and the distance berween the microcontroller and the memory device Faster memory devices are able to retrieve and store data in shorter periods of time Such faster memorv devices typically cost more than slower memory devices Signals travel along signal paths at finite speeds, thus taking longer to traverse greater distances The greater the distance between the microcontroller and the memory device, the greater the signal delay time introduced, and the greater the negative impact upon svstem performance It would thus be advantageous to include one or more memory devices upon the same microcontroller chip The distance that signals must travel berween the microcontroller and the one or more memory devices would be reduced, thus resulting in higher levels of system performance The increased level of system integration would also result in lower system costs and higher system reliabilities
  • a microcontroller formed upon a single monolithic substrate and having an internal memory unit and circuitry to generate an internal memory unit enable signal.
  • internal is used to describe an element which is part of the microcontroller
  • external is used to describe an element which not part of the microcontroller
  • the internal memory unit is configured to store data
  • a chip select unit of the microcontroller generates a dedicated internal chip select (ICS#) signal which enables storage operations within the internal memory unit
  • Key operating parameters of the internal memory unit are stored in a single programmable internal memory chip select register located within the chip select unit
  • the size of the internal memory unit is fixed, eliminating the need to store size information
  • the internal memory chip select register contains a base address field
  • the base address field includes a minimum number of the highest-ordered bits of a base address of the internal memory unit required to define which non-overlapping section of the physical address space the internal memory unit is mapped into For example, only the 5 highest-ordered bits of a 20-bit base address are
  • the microcontroller also includes a microcontroller core, an I/O pad interface unit, and several I/O pads
  • the chip select unit is located within the microcontroller core, along with an execution unit and a bus interface unit
  • the execution unit is configured to execute microprocessor instructions, preferably instructions from an x86 instruction set During the execution of microprocessor instructions, the execution unit generates output data which represent offset portions of addresses of memory locations within a physical address space from which data is to be read or to which data is to be written
  • the bus interface unit receives the offset portion of the address, combines it with a segment portion, and produces and address
  • Fig 1 is a block diagram of a preferred embodiment of a microcontroller in accordance with the present invention.
  • Fig 2 is a block diagram of a preferred embodiment of an internal memory unit which includes a memory control unit coupled to a memory array.
  • Fig 3 is a block diagram of one embodiment of a chip select unit which generates an external chip select (ECS#) signal and an internal chip select (ICS#) signal
  • Fig 4 is a block diagram ol one embodiment of an external memory chip select register containing key operating parameters of an external memory unit and used in the generation of the ECS# signal.
  • Fig 5 is a block diagram of one embodiment of an external memory auxiliary register containing the size of the external memory unit and used in the generation of the ECS# signal,
  • Fig 6 is a block diagram ot one embodiment of an internal memory chip select register containing key operating parameters of an internal memory unit and used in the generation of the ICS# signal,
  • Fig 7 is a block diagram of a I Mbyte physical address space partitioned into sections, each section containing 32 kbytes of memory, wherein the 5 highest-ordered bits of a 20-b ⁇ t base address define the 32 kbyte section into which the internal memory unit is mapped
  • Fig 8 is an internal bus cycle timing diagram associated with retrieving (i e . reading) data stored within the memory array of the internal memory unit, and
  • Fig 9 is an internal bus cycle timing diagram associated with the saving of data within (I e . the writing of data to) the memory array of the internal memory unit
  • Fig 1 is a block diagram of a preferred embodiment of a microcontroller 10 in accordance with the present invention
  • Microcontroller 10 includes a microcontroller core 12.
  • Microcontroller core 12 includes an execution unit 18, a chip select unit 20, and a bus interface unit 22 coupled to a core bus 24
  • Execution unit 18 executes microprocessor instructions, preferably from an instruction set of an x86 microprocessor Execution unit 18 chip select unit 20, and bus interface unit 22 communicate via signals driven on signal lines of core bus 24
  • execution unit 18 and bus interface unit 22 are "tightiy coupled' to one another by a "B" bus 25
  • chip select unit 20 is configured to produce an external chip select (ECS ) signal and an internal chip select (ICS#) signal (Signal names followed by '#' are active low, meaning the signal is active or asserted when the signal
  • bus interface unit 22 is coupled to three internal buses an internal address bus 26, an internal address/data bus 28 and an internal control bus 30
  • Internal address bus 26 includes multiple signal lines, and each signal line is configured to carrv an address signal
  • Internal address/data bus 28 is a common multiplexed address/data bus
  • Internal address/data bus 28 includes multiple signal lines, and each signal line is configured to carrv an address signal during certain time intervals and a data signal during other time intervals
  • Such multiplexed buses are used to reduce the total number of required signal lines
  • Internal control bus 30 includes multiple signal lines, and each signal line is configured to carry a control signal
  • Bus interface unit 22 contains multiple data buffers and is configured to generate and drive address, data, and control signals onto internal address bus 26, internal address/data bus 28. and internal control bus 30, respectively, in accordance with established protocols in order to accomplish data transfers as described above
  • I/O pad interface unit 16 is coupled between internal signal lines and I/O pads 17 I/O pad interface unit 16 contains driver circuits to cause voltage levels on the I/O pads to correspond to voltage levels on associated internal signal lines (i e , drive signals present on internal signal lines onto corresponding I/O pads) I/O pad interface unit 16 also contains driver circuits to drive signals present on I/O pads onto corresponding internal signal lines In addition.
  • I/O pad interface unit 16 contains logic circuitry to latch (I e , sample and hold) some internal signals prior to driving them onto corresponding I/O pads For example, I/O pad interface unit 16 drtves signal ECS# onto I/O pad 17a I/O pad interface unit 16 also drives signals present on the signal lines of internal address bus 26 onto corresponding I/O pads 17b I/O pad interface unit 16 drives signals present on the signal lines of internal address/data bus 28 onto corresponding I/O pads 17c during certain time intervals, and drives signals present on I/O pads 17c onto corresponding signal lines of internal address/data bus 28 during other time intervals I/O pad interface unit 16 drives output control signals present on certain signal lines of internal control bus 30 onto corresponding I/O pads 17d, and drives input control signals present on I/O pads 17d onto corresponding signal lines of internal control bus 30
  • FIG 2 is a block diagram of a preferred embodiment of internal memorv unit 14 including a memory control unit 32 coupled to a memory array 34
  • Memory control unit 32 is coupled to receive the 1CS# signal produced by chip select unit 20. and is also coupled to signal lines of internal address bus 26.
  • Memory arrav 34 includes manv storage locations (i e , memory cells) The assertion of the ICS# signal enables storage operations within internal memorv unit 14
  • Memory control unit 32 generates and issues control signals to memory arrav 34 required to save data within memory array 34 and to retrieve data from memory array 34
  • memory control unit 32 also preferablv includes a built-in self test capability to ensure proper operation of internal memory unit 14
  • Memory array 34 preferably includes many high-density dvnamic random access memory (DRAM) memory cells
  • memory control unit 32 also preferablv includes refresh circuitry to provide periodic memory celi refreshing
  • memory array 34 may include manv lower density static random access memory (SRAM) memory cells
  • SRAM static random access memory
  • Other suitable types of memory cells include non-volatile memory ceils such as electricallv erasable programmable read only memory (EEPROM) cells and flash memorv cells Flash memory devices are sometimes called flash EEPROM devices, and differ from EEPROM devices in that electrical erasure involves large sections of, or the entire contents of a flash memory device
  • Fig 3 is a block diagram of one embodiment of chip select unit 20
  • Chip select unit 20 includes logic circuitry used in conjunction with the contents of a programmable external memory chip select register (EMCSR) 36 and a programmable external memory auxiliary register (EMAR) 38 to generate signal ECS#
  • EMCSR programmable external memory chip select register
  • EMAR programmable external memory auxiliary register
  • Chip select unit 20 also includes logic circuitry used in conjunction with a programmable internal memory chip select register (IMCSR) 40 to generate signal ICS# All three registers are memory-mapped internal registers which may be read or written just like memory locations Initializations of these registers are accomplished by microprocessor instructions which write desired values to the addresses assigned to the internal registers Figs 4-6 are block diagrams of embodiments of internal registers used with a segmented memory system common to x86 microprocessors During generation of a 20-b ⁇ t physical address, execution unit 18 passes a 16-bit "offset" portion of an address to bus interface unit 22 via "B" bus 25 Bus interface unit combines the 16-bit offset portion with a 16-bit "segment” portion of the address via a shift-and-add operation to form the 20-bit physical address.
  • IMCSR programmable internal memory chip select register
  • Bus interface unit 22 contains a 16-bit register which holds the segment portion of the address, and also contains dedicated hardware to perform the shift-and-add operation. During the shift-and-add operation, the 16-bit segment portion of the address is first shifted left four bit positions. Following the left shift operation, the four least-significant bits of the resulting 20-bit segment base address are all zeros. The 16-bit offset portion is then added to the segment base address, and the result is the 20-bit physical address.
  • EMAR 38 shown in Fig. 5 is similar to the PCS# and MCS# auxiliary register of 80186 and 80188 microcontrollers. Bits 14, 13, 12, 1 1, 10, 9. and 8 (14-8) of the embodiment of EMAR 38 shown in Fig. 5 specify the size of an external memory unit in bytes as shown in Table 1 below Bit 15 of EMAR 38 is reserved, and bits 7-0 of EMAR 38 are not used
  • EMCSR 36 shown in Fig. 4 is similar to the mid-range memory chip select register of 80186 and 80188 microcontrollers. Bits 15-9 of the embodiment of EMCSR 36 shown in Fig 4 define the 7 highest-ordered bits of a 20-b ⁇ t base address of the external memory unit. BA(I9 13) The remaining 13 bits of the base address are always 0. The base address must be an integer multiple of the memory block size in EMAR register 38. For example, if the memory block size is 64 kbytes, bits 15-9 of EMCSR 36 can only be xxxxOOO, where 'x' is a 0 or a 1. Bits 8-3 of EMCSR 36 are reserved
  • Bus interface unit 22 performs read and write ( ⁇ e., data transfer) operations in four cycles of a system clock signal.
  • Bus interface unit 22 receives an input "ready" control signal which allows data transfer operations to be extended to more than four cycles.
  • the ready signal is present on a dedicated ready signal line of internal control bus 30.
  • An external device with a connection to an associated I/O pad of I/O pads 17d signals its ready status via the ready signal. If the device is ready, the device asserts the ready signal. The device signals a not-ready condition by deasserti ⁇ g the ready signal.
  • I/O pad interface unit 16 drives the ready signal onto the ready signal line of internal control bus 30.
  • Bus interface unit 22 receives the ready signal via the ready signal line of control bus 30.
  • Bus interface unit 22 samples the ready signal line of internal control bus 30 durmg the third cycle of a data transfer operation, and responds to a deasserted ready signal by extending the time interval of the data transfer operation by a predetermined number of additional cycles (i.e., inserting a predetermined number of wait states) The process of inserting wait states is continued until the device asserts the ready signal
  • Bit 2 (R2) of EMCSR 36 is the ready mode bit If the R2 bit is 0, bus interface unit 22 samples the ready signal during the third cycle of a data transfer operation to determine if the device requires the insertion of wait states If the R2 bit is 1 , bus interface unit 22 does not sample the ready signal, and data transfer operations are completed in four cycles Bits I and 0 (RI and RO) define the number of wait states bus interface unit 22 inserts when the ready signal is deasserted during a data transfer operation
  • execution unit 18 drives a 16-b ⁇ t offset portion of the address of the memory location to be accessed onto signal lines of "B" bus 25
  • Bus interface unit 22 receives the offset portion of the address and combines it with a 16-bit segment portion to generate a 20-bit physical address as described above
  • Bus interface unit 22 drives the 20-bit physical address of the memory location to be accessed onto core bus 24
  • Chip select unit 20 receives the 20-bit physical address from core bus 24, and asserts the ECS# signal if the 7 highest-ordered bits of the 20-bit physical address match the contents of bits 15-9 of EMCSR 36
  • Fig 6 is a block diagram of one embodiment of IMCSR 40 Unlike the external memory unit, the size of internal memory unit 14 is fixed, eliminating the need for a separate register to contain the size information
  • the embodiment of Fig 6 corresponds to an internal memory unit 14 having 32k (2 15 ) 8-btt bytes of memory In order to map internal memory unit 14 into one of several non-overlapping blocks of the physical memory space
  • Fig 7 is a block diagram of a 1 Mbyte physical address space divided into 32 kbyte sections Fig 7 will be used to illustrate how the base address field of IMCSR 40 defines the 32 kbyte segment into which the 32 kbyte internal memory unit 14 is mapped
  • bits 19- 15 of a base address of internal memory unit 14 are 00000
  • the remaining 1 bits of the base address are always 0
  • the base address of internal memory unit 14 is thus 00000000000000000000, or OOOOOh
  • the 32k bytes of memory within internal memory unit 14 span from OOOOOh to 07FFFh
  • bits 19- 15 of a base address of internal memory unit 14 are 00001, the remaining 15 bits of the base address are 0.
  • Bit 10 of IMCSR 40 is the Show Read (SR) bit
  • internal memory unit 14 drives signal lines of internal address/data bus 28 with retrieved data If the SR bit is 0, I/O pad interface unit 16 does not drive the retrieved data onto the corresponding I/O pads If the SR bit is 1 I/O pad interface unit 16 drives data the retrieved data onto the corresponding I/O pads In this case, the data provided by internal memory unit 14 durmg a read operation is thus made visible on the pins of the device package containing microcontroller 10, and may be useful for debugging purposes
  • Bit 9 of IMCSR 40 is the Memory Enable (ME) bit If the ME bit is 0,
  • Bus interface unit 22 receives the offset portion from the signal lines of "B" bus 25 and combines it with a 16-b ⁇ t segment portion to generate a 20-bit physical address as described above
  • Bus interface unit 22 drives the 20-bit physical address of the memory location to be accessed onto core bus 24
  • Chip select unit 20 receives the 20-b ⁇ t physical address from core bus 24, and asserts the ICS# signal if (i) the 5 highest-ordered bits of the 20-bit physical address match the contents of the base address field of IMCSR 40 and (u) the memory enable bit within IMCSR 40 is set to I
  • Figs 8 and 9 will be used to describe bus cycles associated with data transfers between microcontroller core 12 and internal memory unit 14 As described above, such transfers typically span four consecutive cycles of a system clock signal CLK
  • Fig 8 is an internal bus cvcle timing diagram associated with retrieving (I e , reading) data stored within memory array 34 of internal memorv unit 14
  • bus interface unit 22 of microcontroller core 12 drives signal lines of internal address bus 26 and internal address/data bus 28 with the address of a memory location within memory array 34 of internal memory unit 14 containing the desired data Chip select unit 20 also asserts the ICS# signal, enabling data storage operations within internal memory unit 14
  • Bus interface unit 22 also drives a signal line of internal control bus 30 with a control signal (not shown) which causes memory control unit 32 to latch the address present on the signal lines of internal address bus 26 and internal address/data bus 28
  • bus interface unit 22 ceases driving signal lines of internal address/data bus 28 in preparation to receive data over some of the
  • memory control unit 32 drives the signal lines of internal address/data bus 28 with the retrieved data Bus interface unit 22 reads the data driven on the signal lines of internal address/data bus 28 at the falling edge of signal CLK marking the end of third cycle 46 Durmg a fourth cycle 48, memory control unit 32 ceases driving signal lines of internal address/data bus 28 in preparation to receive address information over some of the same signal lines during the following cycle Bus interface unit 22 deasserts the ICS# and RD# signals
  • Fig 9 is an internal bus cycle timing diagram associated with the saving of data within (l e , the writing of data to) memory array 34 of internal memory unit 14 Durmg a first cycle 50 of signal CLK, bus interface unit 22 of microcontroller core 12 drives signal lines of internal address bus 26 and internal address/data bus 28 with the address of a memory location within memory array 34 in which data is to be saved Chip select unit 20 also asserts the ICS# signal, enabling data storage functions within internal memory unit 14 Bus interface unit 22 also drives a signal line of internal control bus 30 with a control signal (not shown) which causes memory control unit 32 to latch the address present on the signal lines of internal address bus 26 and internal address/data bus 28 During a second cycle 52 of signal CLK, bus interface unit 22 drives an asserted write signal WR# on a signal line of internal control bus 30, causing memory control unit 32 to prepare to store data within memory array 34 During a third cycle 54 of signal CLK bus interface unit 22 deasserts the WR# signal, causing memory control unit 32 to read the
  • Memory control unit 32 of internal memory unit 14 is coupled to the ready signal line of internal control bus 30 As mentioned above bus interface unit 22 always samples the ready signal line of internal control bus 30 during the third cvcle of a read or write operation If internal memory unit 14 is ready, it asserts the ready signal Internal memory unit 14 signals a not-ready condition by deassert g the ready signal If the ready signal is deasserted bv internal memory unit 14 during the third cycle of a read or write operation, bus interface unit 22 inserts a single wait state The process of inserting a wait state is continued until internal memory unit 14 asserts the ready signal The ready signal is used to allow an occasional delay in memory access without requiring that all memory accesses be delayed Such occasional delays may occur when memory array 34 ot internal memory unit 14 includes DRAM memory and the memory location being accessed is undergoing a DRAM refresh operation

Landscapes

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

Abstract

Microcontrôleur qui comporte une partie centrale, une mémoire interne, une unité d'interface de plots d'entrée/sortie et plusieurs plots d'entrée/sortie, tous formés sur un seul substrat de silicium monolithique. La mémoire interne est configurée pour le stockage de données. Une unité de sélection de boîtier située dans la partie centrale du microcontrôleur génère un signal (ICS#) spécial de sélection de boîtier interne qui permet des opérations de stockage dans la mémoire interne. Des paramètres de fonctionnement clés de la mémoire interne sont stockés dans un seul registre programmable (IMCRS) de sélection de boîtier de mémoire interne situé dans l'unité de sélection de boîtier. La taille de la mémoire interne est fixe, ce qui élimine le besoin de stocker des informations de taille. Le registre de sélection de boîtier de mémoire interne contient un champ d'adresse de base. Ledit champ comporte un nombre minimum des bits de poids supérieur d'une adresse de base de la mémoire interne requis pour définir dans quelle partie non-chevauchante de l'espace d'adresse physique est implantée la mémoire interne. Le procédé d'accès à la mémoire interne permet une compatibilité amont avec des microcontrôleurs existants. La partie centrale du microcontrôleur comporte également une unité d'exécution et une interface de bus. L'unité d'exécution exécute les instructions du microprocesseur, de préférence des instructions provenant d'une série d'instructions x86. L'interface de bus gère toutes les opérations de transfert de données pour la partie centrale de microcontrôleur conformément aux protocoles établis. L'interface de plots d'entrée/sortie confère au microcontrôleur une capacité de transfert de données hors-puce, qui permet au microprocesseur de lire des données sur des dispositifs externes ou d'écrire des données dans lesdits dispositifs.
EP97927936A 1996-08-14 1997-06-02 Microcontroleur comportant une memoire interne et un circuit pour generer un signal de validation associe Withdrawn EP0931292A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US69663696A 1996-08-14 1996-08-14
US696636 1996-08-14
PCT/US1997/009545 WO1998007099A1 (fr) 1996-08-14 1997-06-02 Microcontroleur comportant une memoire interne et un circuit pour generer un signal de validation associe

Publications (1)

Publication Number Publication Date
EP0931292A1 true EP0931292A1 (fr) 1999-07-28

Family

ID=24797923

Family Applications (1)

Application Number Title Priority Date Filing Date
EP97927936A Withdrawn EP0931292A1 (fr) 1996-08-14 1997-06-02 Microcontroleur comportant une memoire interne et un circuit pour generer un signal de validation associe

Country Status (3)

Country Link
EP (1) EP0931292A1 (fr)
JP (1) JP2001503167A (fr)
WO (1) WO1998007099A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6271928B1 (en) * 1998-03-04 2001-08-07 Hewlett-Packard Company Electrical storage device for a replaceable printing component
US6859537B1 (en) * 2000-02-17 2005-02-22 The United States Of America As Represented By The Secretary Of The Navy Non-volatile memory for use with an encryption device
US7398348B2 (en) 2004-08-24 2008-07-08 Sandisk 3D Llc Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06150023A (ja) * 1992-11-06 1994-05-31 Hitachi Ltd マイクロコンピュータ及びマイクロコンピュータシステム
US5438681A (en) * 1993-08-24 1995-08-01 Mensch, Jr.; William D. Topography for CMOS microcomputer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9807099A1 *

Also Published As

Publication number Publication date
WO1998007099A1 (fr) 1998-02-19
JP2001503167A (ja) 2001-03-06

Similar Documents

Publication Publication Date Title
US7657696B2 (en) Method to detect NAND-flash parameters by hardware automatically
US7171526B2 (en) Memory controller useable in a data processing system
RU2442211C2 (ru) Гибридное запоминающее устройство с единым интерфейсом
JP5588536B2 (ja) メモリ・デバイス、メモリ・デバイスを有するシステム、及び埋め込み型デバイスの動作方法
CN100454273C (zh) 用于块内页面分组的方法及设备
JP3670041B2 (ja) 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ
CN114974374B (zh) 具有芯片内执行能力的串行与非门快闪存储器
KR940002755B1 (ko) 1칩 마이크로 컴퓨터
US5937423A (en) Register interface for flash EEPROM memory arrays
US20080256352A1 (en) Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
KR20010108209A (ko) 메모리 카드, 논리 어드레스의 할당방법 및 데이터 기록방법
JPH1131102A (ja) データ記憶システム及び同システムに適用するアクセス制御方法
JP2005501300A (ja) 仮想メモリ配列内のデータにアクセスするための配列および方法
EP0757316B1 (fr) Unité de sélection de dispositifs externes pour processeur de données
EP0931292A1 (fr) Microcontroleur comportant une memoire interne et un circuit pour generer un signal de validation associe
JP4455593B2 (ja) データプロセッサ
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
JP3589699B2 (ja) データ処理装置及びこれを用いたデータ処理システム
US6516398B2 (en) Program-downloadable data processing system and method for accessing memory by using a unified memory space therein
JPH1139245A (ja) 半導体デバイス制御装置および半導体デバイス制御方法
JP3862031B2 (ja) マイクロプロセッサ
JP2006011926A (ja) シリアルデータ転送システム、シリアルデータ転送装置、シリアルデータ転送方法及び画像形成装置
CN114664336B (zh) 堆叠存储器件、存储芯片及其控制方法
US20020188771A1 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
US5752267A (en) Data processing system for accessing an external device during a burst mode of operation and method therefor

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19990107

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB NL

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20040405