Abstract:
A semiconductor device having a memory array on a semiconductor chip includes an internal address producing circuit on the same semiconductor chip. The internal address producing circuit produces an internal address actually designating a memory cell or cells in the memory array according to an external address and a base address stored in a register formed on the semiconductor chip. The internal address produced by the producing circuit has a bit length longer than that of the external address.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a semiconductor device having a memory circuit, and particularly to a semiconductor memory device having a larger internal address space than an external address space. 
     2. Description of the Prior Art 
     With the advance of semiconductor device technology a large capacity memory can now be formed on a single semiconductor chip. Such a memory with a large capacity has a large address space, so that a long address must be applied thereto. For instance, an external address consisting of 16 bits has to be used to access a 64K×1 bit memory. For a 4K word memory (8 bits/word), 12 bits are required as an external address applied to an external address input port of the memory. These large capacity memories can not be directly accessed by a short external address (e.g. 8-bit address or 10-bit address). In the prior art, therefore, a central processing unit (CPU) device which generates only a short address could not be directly coupled to the large capacity memory device via an external address bus. 
     To access the large capacity memory device by using a CPU device with a short CPU address, a peripheral device to expand the CPU address must be put between the memory device and the CPU device. However, such peripheral device requires a complex hardware circuit, and control of the interface between the CPU device and the memory device becomes difficult. Further, when a plurality of memory devices are employed, each of which has the same address space as the CPU address space, device selection becomes complex in addition to complexity of the system structure. 
     To avoid these defects, an overlay technology has been proposed. This technology is effective to access a large memory capacity by means of a short CPU address space. However, according to the overlay system, a part of memory corresponding to the CPU address space must be firstly loaded to a rewritable memory device, and thereafter the CPU device has to read out the loaded information from the rewritable memory device. Therefore, the technology has the disadvantage that a memory access speed is very slow. 
     Furthermore, the large capacity memory contains in general a plurality of application programs or operating systems in arbitrary address spaces. These address spaces are not fixed but variable. In the prior art addressing, an upper address portion is used to designate a start location of one of the memory blocks, and a lower address portion is used to designate each location in the designated memory block. It should be noted that the large capacity memory is divided into memory blocks with a constant address space. However, as described above, since the address space assigned to each of the application programs or operating systems is not fixed but variable, each start location does not correspond to start locations of the memory blocks. Therefore, in order to designate the start location of the application program or the operating system, a complex address operation is required. 
     An object of the present invention is to provide a semiconductor device having a memory circuit which can be accessed by an external address which is shorter than an internal address of the semiconductor device. 
     Another object of the present invention is to provide a semiconductor memory device having a larger internal address space than an external address space. 
     Still another object of the present invention is to provide a semiconductor memory device which can be easily coupled to a CPU device whose address space is smaller than that of the memory device. 
     Still another object of the present invention is to provide a memory device containing a plurality of programs or informations stored in arbitrary address spaces, each address space being accessed by means of an easy address operation. 
     SUMMARY OF THE PRESENT INVENTION 
     The semiconductor device having a memory circuit of the present invention comprises a memory section storing information, an address decoder coupled to the memory section, an output section coupled to the memory section for deriving information from the memory section according to the decoding operation of the address decoder, an input section receiving an external address, a register section storing at least one base address, and an internal address producing section having its input end coupled to the input section and the register section and having its output end coupled to the address decoder and producing an internal address to be decoded by the address decoder in accordance with the external address and the base address. The above described memory section, address decoder, output section, input section, register section and internal address producing section are integrated on a single semiconductor chip. The internal address producing section has a function to combine the external address with the base address or has a function to arithmetically calculate the external address and the base address. 
     According to the present invention, the internal address is produced in the semiconductor chip by the internal address producing section. The internal address producing section receives the external address (e.g. a CPU address) and the base address which is preliminarily prepared in the register section. Thus, the memory device can be coupled to an external device generating the external address without the complex peripheral device. Further, when both the external address and the base address are combined or when the base address having a bit length longer than that of the external address is prepared, the internal address space becomes larger than the external address space. Thus, a large capacity memory device can be accessed by using a short external address. Moreover, in the case that a start address of each program or information (e.g. application programs, operating systems, tables) is stored in the register section, each program or information can be directly accessed with an easy address operation, even if each program or information is located in an arbitrary address space. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a block diagram of a conventional memory device; 
     FIG. 2 shows a system block diagram of the memory device of FIG. 1 and a CPU device; 
     FIG. 3 shows a memory map according to the conventional addressing; 
     FIG. 4 shows a block diagram of an embodiment of a memory device according to the present invention; 
     FIG. 5 shows a system block diagram of a CPU device and the memory device shown in FIG. 4; 
     FIG. 6 shows a memory map according to the present invention; 
     FIG. 7 shows a block diagram in an essential part of another embodiment according to the present invention; 
     FIG. 8 shows a system block diagram of the prior art microcomputer system; 
     FIG. 9 shows a system block diagram of an embodiment of a microcomputer system according to the present invention; 
     FIG. 10 shows an address map indicating the prior art addressing and the addressing of one example of the present invention; 
     FIGS. 11 and 13 show block diagrams of a register section in the other embodiments of the present invention, respectively; and 
     FIGS. 12 and 14 show block diagrams of still other embodiments of memory devices in the present invention, respectively. 
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     FIG. 1 is a block diagram of a conventional mask ROM type memory device in which a memory cell array 2, an address decoder 3, a selector 4, an output buffer 5, a chip select control circuit 6 and a timing control circuit 7 are integrated on a single semiconductor chip 1. Such a memory device is well known and is generally used in various fields. When a chip select signal CS is applied at a terminal 11, the output buffer 5 is activated by the control circuit 6. In addition, when a read control signal RE is applied at a terminal 10, the timing control circuit 7 generates predetermined timing signals and sends them to the respective elements to place them in a read condition. The address decoder 3 receives an external address through an external address bus 8 and decodes it. According to the decoding operation, information is read out from the memory cell array 2 and is transferred to the output buffer 5 via the selector 4. The output buffer 5 transfers the read-out information to an external data bus 9. In this memory device, an internal address space assigned to the memory cell array 2 must be the same size as that of an external address space. In other words, the external address must have a bit length by which the full space of the internal address space can be designated. For instance, when the capacity of the memory cell array is 16K bytes (8 bits/byte), 14 bits are required as the external address. Therefore, if an external device (e.g. a CPU device 12) has a 16-bit address, the memory device 1 can be coupled to the CPU device 12 through the address bus (16 bits) as shown in FIG. 2. In FIG. 2, the chip select signal CS and the read control signal RE are applied from the CPU device 12 to the memory device 1 through a control bus 13. 
     On the other hand, when the external address outputted from the CPU device is shorter than 16 bits, the memory device 1 can not be accessed by only the external address on the address bus 8. Therefore, a complex interface device is required between the memory device 1 and the CPU device to expand the external address (CPU address) to the internal address of the memory device 1. 
     Further, the conventional large capacity memory having a large address space is divided into a plurality of memory blocks with a constant (fixed) address span (X) as shown in FIG. 3. In the conventional addressing of the large capacity memory, an upper address portion is used to designate a start location of each memory block and a lower address portion is used to designate locations in each memory block. Therefore, a memory block selection is easy in the conventional addressing because a start location of each memory block can be designated by the upper address portion. However, the locations which can be designated by the upper address portion are fixed at the start locations of memory blocks. Consequently, when an arbitrary location in a memory block is required as a program start location, both the upper portion and the lower portion of the address (external address) must be arranged or modified in the CPU device or the interface device. 
     FIG. 4 is a block diagram of a memory device according to an embodiment of the present invention. The memory cell array 2, the address decoder 3, the selector 4, the output buffer, the chip select control circuit 6 and the timing control circuit 7 are formed on a single semiconductor chip 20 and may be the same circuit structure and function as those of the conventional memory device 1 in FIG. 1. 
     In FIG. 4, a plurality of registers (R 1  to R n ) 21, a decoder 22, a latch circuit 23 and an arithmetic unit 24 are formed on the same semiconductor chip 20 to produce an external address on the semiconductor memory chip 20. A plurality of base addresses are preliminarily stored in the respective registers 21, and one of them is selected by the decoder 22. The decoder 22 decodes a data stored in the latch circuit 23 and generates a selecting signal to select one of registers. The latch circuit 23 is activated in response to the chip select signal CS and stores the data designating one register. The data may be transferred to the latch circuit 23 through either single signal line 25 in a serial mode or a plurality of signal lines 26 in a parallel mode. When the data is transferred from the CPU device 30, the memory device 20 will be coupled to the CPU device 30 as shown in FIG. 5. 
     In FIG. 4, it should be noted that the external address on the external address bus 8 is not directly applied to the address decoder but is applied to one input end of the arithmetic unit 24 which is typically an adder 24. The arithmetic unit 24 receives a base address read out of a selected register at the other input end. The arithmetic unit (adder) 24 adds the external address and the base address in a weighted manner, as shown in the right column (FIG. 4) of FIG. 10. Namely, the unit 24 adds the contents of the base address (LATCH) as the upper bits and the contents of the external address as the lower bits to generate the internal address. The physical utilization of the contents of the base address and the contents of the external address is shown as &#34;21&#34; and &#34;8&#34; in FIG. 6. 
     According to the memory device in FIG. 4, when the base address with a bit length corresponding to the internal address space of the memory cell array is stored in the register 21, the external address with a shorter space than the internal address space can be used. Therefore, the memory device 20 can be accessed by the short external address without any interface devices to expand the external address. 
     Now, it will be assumed that the CPU address is 8 bits and the memory cell array 2 has 16K words (8 bits/word) capacity. In this case, a 14-bit external address is required to directly access an arbitrary address in the memory cell array 2. Therefore, the CPU device with an 8-bit CPU address is not easily coupled to the memory device 20. In FIG. 4, however, since the base address of 14 bits is stored in the register 21, the CPU device having an 8-bit CPU address can be directly coupled to the memory device via the external address bus 8. Further, in this condition, an arbitrary location in the memory cell array 2 is directly designated by the base address, and the following locations are designated by the external address on the address bus 8 as shown in FIG. 6. Thus, according to the memory device in FIG. 4, a start address can be arbitarily designated by changing the base address. 
     Further, in the case that a counter 27 and an incrementing circuit 28 are employed instead of the latch circuit 23, the registers R 1  to R n  are sequentially selected according to the content of the counter 27 as shown in FIG. 7. Thus, the signal line 25 or lines 26 can be omitted in FIG. 4. 
     When a CPU device 40 with an 8-bit CPU address accesses 64K bits of memory, 256 memory chips M 0  to M 255 , each of which has 256 bits capacity, must be coupled in parallel to an 8-bit CPU address bus 42 and a data bus 43 in the prior art as shown in FIG. 8. In contrast, the CPU device with the 8-bit CPU address can be directly coupled to a 64K bit memory device 41 via the 8-bit CPU address bus 42 and the data bus 43. Moreover, a chip select unit 31 can be also omitted, so that a system structure becomes very simple in the present invention. 
     FIG. 10 indicates address maps of the prior art memory device 1 in FIG. 1 and the memory device 20 in FIG. 4. It is assumed that four programs A to D are stored in the memory cell array. Start addresses of the programs A to D are 100, 300, 700 and 1000, respectively. To access these four programs, a 10-bit external address is required in the memory device of FIG. 1, and complex bit patterns must be put into an upper portion and a lower portion of the external address. Therefore, the CPU device has to produce these address bit patterns by executing a complex address operation. 
     While, in the memory device 20 of FIG. 4, a two-bit latch circuit and four 10-bit registers R 1  to R 4  are used. The addresses 100, 300, 700 and 1000 are preliminarily stored in the registers R 1  to R 4 , respectively. To access the program A, the CPU device outputs the CPU address of 8 bits &#34;00000000&#34; through the external address bus 8 and sets the data &#34;00&#34; into the latch circuit 23. Thus, the start address of the program A can be accessed. The other programs B, C and D can be accessed in the same manner as the program A by changing the content of the latch circuit. That is, the CPU device may transfer the same address (all zero) to the memory device for these four programs. Therefore, only a simple address operation is required to the CPU device. 
     The registers 21 may be selected according to an output of a shift register 29 responsive to a shift clock 33. Further, the memory device 20 can be modified as shown in FIG. 12. In FIG. 12, the data to be stored in the latch circuit 23 is sent to the latch circuit 23 through the data bus 9. A memory circuit 120 contains elements of FIG. 1. Moreover, a rewritable memory (RAM, PROM, EPROM, EEPROM, etc.) or a queue memory 50 can be used as the register 21 as shown in FIG. 13. The base addresses to be stored in the memory 50 are transferred through the data bus 9. The base address in the registers 21 may be used as an upper address of the internal address and the external address may be used as a lower address. In this case, a combination circuit 51 is employed in place of the arithmetic unit 24.