|Publication number||US5070473 A|
|Application number||US 07/077,442|
|Publication date||3 Dec 1991|
|Filing date||24 Jul 1987|
|Priority date||22 Aug 1986|
|Publication number||07077442, 077442, US 5070473 A, US 5070473A, US-A-5070473, US5070473 A, US5070473A|
|Inventors||Makoto Takano, Yasuhiko Hoshi, Keiichi Kurakazu, Shiro Baba|
|Original Assignee||Hitachi, Ltd., Hitachi Microcomputer Engineering Ltd.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (4), Non-Patent Citations (4), Referenced by (54), Classifications (5), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention relates to a microprocessor, and more particularly, technology to be utilized in a microprocessor incorporating a program wait circuit for asynchronous data aquisition. The invention is particularly relevant to interfacing a central processor with a direct memory interface device.
In microprocessors of the 68000 series variety which incorporate a program wait circuit, data from peripheral devices, such as memory, is received in the following manner. At a state "0", specified by a clock (machine cycle) signal, an address bus is taken to a high impedance state. A read/write signal ("R/W") is made high to indicate the presence of the read cycle.
At a state "2", an address strobe signal (typically "AS") is made active, which is defined at a low level. This indicates that an effective address signal exists on the address bus. Peripheral devices, such as memory, together with the address bus, receive the address strobe signal, and individually determine whether they are selected. When a device is selected, it becomes active, and transmits an appropriate data signal onto the data bus.
A wait time of a program wait circuit is set, taking into account access time necessary for the particular selected device, such as the time necessary to access a selected memory. That is, one or more wait cycles are set for a selected device having a relatively low access speed.
At completion of the wait cycles, it is presumed that effective data exists on the data bus, and the data is read therefrom.
A microprocessor incorporating a program wait circuit as above-described is disclosed in, for example, "Hitachi Microcomputer Data Book, 8 bits/16 bits Microprocessor", pages 462-463, published in Sept. 1985 by Hitachi, Ltd.
When a bus control or bus master system is contained solely in a microprocessor, the selected device can be accessed without severe problems. However, if the system incorporates a device such as a slave microprocessor or a direct memory access device, a control circuit will be necessary to command the above-mentioned wait cycle.
An object of the invention is to provide a simplified microprocessor system, with which a memory access control system for use in a multiple controlled systems memory is to be implemented.
In accordance with the present invention, a wait signal is formed by an incorporated program wait circuit. The wait signal is transmitted to an external terminal. A device serves as a bus master which is utilized in a wait operation, and which works in conjunction with the wait signal.
In accordance with another aspect of the present invention, an output circuit enables wired logic configurations which are used as drive circuits to transmit a wait signal formed by the incorporated program wait circuit. The wait signal is then supplied from an external terminal, thereby allowing for variation in a wait function of a microprocessor.
An advantage of the present invention is the provision of a simplified device in which a plurality of devices may be more simply accessed to a bus by implementation of a bus control device.
Another advantage of the present invention is the provision of a microprocessor having variable wait function, which provides for access to slower and faster memory devices.
Another advantage of the present invention is that the program wait circuit can be utilized in a wait operation of a slave microprocessor or a direct memory access control device.
Further advantages will become apparent to one of ordinary skill in the art after a reading and understanding of the following specification.
The invention may take physical form in certain parts and arrangement of parts, a preferred embodiment of which will be described in detail in this specification and illustrated in the accompanying drawings which form a part hereof, and wherein:
FIG. 1 is a block diagram illustrating an embodiment of a bus control system of the present invention;
FIG. 2 is a block diagram illustrating another embodiment of the invention of FIG. 1;
FIGS. 3A and 3B are timing charts illustrating operation of the device of FIG. 2; and
FIG. 4 is a diagram illustrating an embodiment of the counter controller 2 shown in FIG. 2.
FIG. 1 is a block diagram illustrating a first embodiment of the present invention. A microprocessor MPU is suitably a microprocessor of the 68000 series. Incorporated therein is a central processor unit CPU, and a program wait circuit WAITC. A direct memory access control unit DMAC functions as a bus controller or master. Memory devices M1 and M2 are, for example, RAM (random access memory) or ROM (read only memory) devices. At least one is a memory device having relatively low access speed, such as is typically found in dynamic RAM. An input/output device I/O is, for example, a mass storage device such as a floppy disc memory.
The microprocessor MPU, the direct memory access control device DMAC, the memory devices M1, M2, and the input/output device I/O, are mutally connected by a bus system, BUS, comprised of an address bus, a data bus, a control bus or the like.
A suitable microprocessor MPU, which incorporates the program wait circuit WAITC, is readily available from the assignee of the present application, and is identified as product no. "HD64180."
The program wait circuit WAITC inserts a wait signal during selected machine cycles, defined as a preselected number of clock cycles, during accesses to relatively low speed memory devices such as the input/output device I/O as above-described. In this embodiment, the program wait circuit WAITC supplies a wait signal through an OR gate circuit G to the central processing unit CPU. The program wait circuit WAITC also supplies the wait signal to a bus made by transmitting it through a drive circuit DV to an external circuit.
A wait control signal output through the drive circuit DV is supplied to the direct memory access control device DMAC in the micropcomputer system of the embodiment. The drive circuit DV is suitably comprised of an open drain output circuit so that the wait signal can be supplied from an external terminal; i.e. wired logic at the output terminal. Consequently, a wait signal supplied from the external terminal may also be supplied through the OR gate circuit G to the central processing unit CPU. In this fashion, a wait period for the CPU may be supplemented by an external device such as the DMAC.
The program wait circuit WAITC receives a signal from the BUS, and directs the direct memory access control circuit DMAC to become a bus master.
The direct memory access control circuit DMAC functions as a timing means, and undertakes a microcomputer function as it assumes the functions of a bus master from the microprocessor MPU. After it commences this function, the DMAC oversees data transfers among such devices as memory devices M1, M2, and the input/output device I/O. If the access speed of the memory device M1 or M2 or the input/output device I/O is relatively slow, insertion of the above-mentioned wait signal by the circuit WAITC is required. In this embodiment, even when the direct memory access control device DMAC obtains bus use priority in place of the microprocessor MPU, the program wait circuit WAITC is started at a prescribed time. The program wait circuit WAITC generates a wait signal WAIT corresponding to a speed (access cycle) of the memory device or the input/output device to which access of the direct memory access control device DMAC is desired, and supplies it through the drive circuit DV to the direct memory access control device.
The direct memory access control device DMAC transmits the prescribed timing signal and address signal corresponding to the machine cycle. A peripheral device, such as a memory, receives the address signal and discerns whether it is selected. On a determination that is selected, the selected device is rendered active, and transmits a read signal to the data bus. The timing for memory access is therefore dictated by a combination of the direct memory access control.
The program wait circuit transmits a wait signal corresponding to a particular access time of the selected device. Consequently, the direct memory access control device DMAC executes one or more additional wait cycles prior to the data transfer cycle, and then deems that effective data exists on the data bus and enables a read thereof. That is, insertion of the assigned wait cycle extends the machine cycle (bus cycle).
FIG. 2 is a block diagram illustrating another embodiment of the present invention. A microprocessor MPU, a direct memory access control circuit DMAC, and a memory, are coupled through a system BUS. A wait circuit WAITC, incorported in the microprocessor MPU, includes an address comparator 1 for discerning whether an address signal on BUS is included in a prescribed address region; a counter controller 2 for determining the wait cycle number; a counter 3 for determining a start timing and an end timing of the wait signal; and a wait signal generator 4 for forming a wait signal. The counter 3 is a down counter, with its initial value being supplied by the counter controller 2.
A count down of counter 3 is started so as to correspond to a fall timing of an address strobe signal AS. From the fall timing of the address strobe signal AS until the counter value becomes 0, the wait signal generator 4 forms the wait signal WAIT at a low level.
The wait signal WAIT is transmitted through an output circuit DV' and an output terminal T1 for connection outside of the microprocessor. The wait signal WAIT, transmitted from the microprocessor MPU, is supplied through BUS to the direct memory access control device DMAC. A period of one machine cycle of the direct memory access control device DMAC is added corresponding to a period when the wait signal WAIT is at a low level.
The address strobe signal AS is supplied from the direct memory access control device DMAC to a memory to be accessed. If the address strobe signal AS falls, the accessed memory recognizes that the address signal on the BUS is established and it is taken in. Subsequently, a data read or write operation is executed. The address strobe signal AS is taken through the terminal T2 into the microprocessor MPU, and used to govern the operation timing of counter 3.
FIG. 3A shows a timing chart, illustrating when the direct memory access control device DMAC reads data from a high-speed memory coupled with the BUS. In the embodiment, a period of one machine cycle is defined as three cycles of the reference inner clock. In the first cycle T1, the direct memory access control circuit DMAC transmits an address signal onto the bus. After the address signal is transmitted, the address strobe signal AS falls, thereby the high-speed memory takes the address signal inside and a data read operation is started. Subsequently, in the third cycle T3, the read data is transmitted onto the BUS. The wait signal WAIT is made high during the period from the first cycle T1 to the third cycle T3. The address comparator 1, within the wait circuit WAITC, supervises the address signal through the terminal T3 so that the access state of the high-speed memory can be recognized. The counter controller 2 correspondingly sets the inital value 0 to the counter 3.
FIG. 3B illustrates the timing when the direct memory access control device DMAC reads data from a low-speed memory coupled with BUS. In the embodiment, a period of one machine cycle is defined at five cycles of the reference inner clock. That is, wait cycles TW1 and TW2 are added between the second cycle T2 and the third cycle T3, which corresponds to the operation speed of the low-speed memory. In the first cycle T1, the direct memory access control circuit DMAC transmits the address signal onto the bus. The address signal is transmitted and then the address strobe signal AS falls. The low-speed memory thereby takes in the address signal and a data read operation is commenced. The address comparator 1 within the wait circuit WAITC supervises the address signal so that an access state of the low-speed memory can be recognized.
The counter controller 2 correspondingly sets the initial value 2 to the counter 3. The initial value can be arbitrarily set to correspond to the operation speed of the accessed memory. As a result, the wait signal WAIT is made low during a period of approximately two cycles from the fall timing of the address strobe signal AS. Level detection timing of the wait signal WAIT is made of the fall time of clock after the second cycle T2. That is, since the wait signal WAIT is low at the fall time T1 of clock in the second cycle T2, the first wait cycle TW1 is added. Next, since the wait signal WAIT is low at the fall time T2 of clock in the wait cycle TW1, the second wait cycle TW2 is added. Next, since the wait signal WAIT is made high at the fall time T3 of clock in the second wait cycle TW2, the wait cycle is not added. During the wait cycle, the address signal and the address strobe signal AS maintain the previous state. Data is transmitted onto the BUS until the third cycle T3. Consequently, the direct memory access control device DMAC can take data on the bus in the third cycle T3 as effective data.
FIG. 4 is a block diagram of an embodiment of the counter controller 2 of FIG. 2. In the embodiment, four registers 1-4 are implemented to store the wait cycle number. The wait cycle number is written by the CPU. For example, in the register 1, "00" is written to indicate that the wait cycle number is 0; in the register 2, "01" is written to indicate that the wait cycle number is 1; in the register 3, "10" is written to indicate that the wait cycle number is 2; and in the register 4, "11" is written to indicate that the wait cycle number is 3. In order to select any of the registers, AND gates AG1-AG8 and OR gates OG1, OG2 are installed. For example, among output signal lines 1-4 of the address comparator 1, signal line 3 is made high. The AND gates AG3 and AG7, to which the signal line 3 is connected at respective input terminals, are thereby selected. As a result, the content "10" of the register 3 is supplied through the OR gates OG1, OG2 to the counter 3.
In FIG. 2, the CPU can execute the wait cycle not only by the wait signal formed at the wait circuit WAITC, but also by the wait signal formed outside of the MPU. That is, the terminal T1 serves an an input/output common terminal, and the output drive DV' enters a high-impedance state during the wait signal input. The wait signal is supplied through the gate G to the CPU. If at least one of the two input signals of the gate G is made low, a low output signal is formed.
In the microcomputer, which includes the microprocessor MPU, which in turn incorporates the program wait circuit WAITC as above-dscribed, when a direct memory access control device DMAC or a slave microprocessor serving as a bus master exists, the program wait circuit WAITC, incorporated in the master microprocessor, is utilized thereby simplifying the system. The circuit WAITC is disenabled when another device adopts the function of the bus master. Consequently, even if the program wait circuit WAITC is used in another device acting as a bus master, no problems will be produced.
Further, the signal formed by the program wait circuit WAITC is transmitted to the external terminal by the drive circuit DV so as to enable the wired logic. Thereby, if necessary, the microprocessor MPU can perform a wait operation from an externally installed wait control circuit.
Effects obtained from the above-mentioned embodiments are as follows:
(1) A wait signal formed by the incorporated program wait circuit is transmitted to an external terminal. A device to serve as a bus master, such as a slave microprocessor or a direct memory access control device, can be utilized in the wait operation. The microcomputer system comprised of a plurality of devices to be made into a bus master can be simplified.
(2) Output circuits to enable wired logic, such as in open drain configurations are used as drive circuits to transmit a wait signal formed by the incorporated program wait circuit to an external terminal. The wait signal can thereby be supplied from the external terminal. The wait function in the microprocessor may therefor be varied.
Various modifications of the subject device are easily implemented. The bus is adaptable to function such that a data signal and an address signal are transmitted during a time sequence. That is, the slave processor or the direct memory access control device may transmit address and data in a time division system to the address bus of the microprocessor. Further, the terminal to which output signal of the program wait circuit and the terminal which is installed, if necessary, and to which wait signal is supplied from outside, may be independent of each other.
The invention can be widely utilized in a microprocessor incorporating a program wait circuit.
Effects obtained by the invention are briefly described as follows. A wait signal formed by the incorporated program wait circuit is transmitted to the external circuit. Thereby a device to serve as another bus mask, such as a slave microprocessor or a direct memory access control device, can be utilized in the wait operation and the system can thus be simplified.
The invention has been described with reference to preferred embodiments. Obviously, modifications and alterations will occur to others upon reading and understanding of this specification. It is intended that all such modifications and alterations be included insofar as they come within the scope of the claims or the equivalents thereof.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4037204 *||17 Sep 1975||19 Jul 1977||Motorola, Inc.||Microprocessor interrupt logic|
|US4414664 *||23 Feb 1981||8 Nov 1983||Genrad, Inc.||Wait circuitry for interfacing between field maintenance processor and device specific adaptor circuit|
|US4520458 *||20 Apr 1983||28 May 1985||Fanuc Ltd||Apparatus for controlling writing of data into a memory having different read and write times|
|US4737932 *||4 Jun 1985||12 Apr 1988||Nec Corporation||Processor|
|1||Hitachi Microcomputer Data Book, "8 bits/16 bits Microprocessor", pp. 462-463 (Sep. 1985) (w/translation).|
|2||*||Hitachi Microcomputer Data Book, 8 bits/16 bits Microprocessor , pp. 462 463 (Sep. 1985) (w/translation).|
|3||*||The 8080/8085 Microprocessor Book , 1980, pp. 2 26 and 33 34.|
|4||The 8080/8085 Microprocessor Book, 1980, pp. 2-26 and 33-34.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US5201036 *||29 Nov 1990||6 Apr 1993||Nec Corporation||Data processor having wait state control unit|
|US5253355 *||13 Nov 1990||12 Oct 1993||Compaq Computer Corporation||Apparatus and method for developing wait states during addressing operation by using unused address bits|
|US5339440 *||21 Aug 1992||16 Aug 1994||Hewlett-Packard Co.||Wait state mechanism for a high speed bus which allows the bus to continue running a preset number of cycles after a bus wait is requested|
|US5339448 *||22 Jan 1993||16 Aug 1994||Hitachi, Ltd.||Microprocessor with improved internal transmission|
|US5485594 *||17 Jul 1992||16 Jan 1996||International Business Machines Corporation||Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system|
|US5513374 *||27 Sep 1993||30 Apr 1996||Hitachi America, Inc.||On-chip interface and DMA controller with interrupt functions for digital signal processor|
|US5687345 *||21 Aug 1995||11 Nov 1997||Hitachi, Ltd.||Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device|
|US5740404 *||27 Sep 1993||14 Apr 1998||Hitachi America Limited||Digital signal processor with on-chip select decoder and wait state generator|
|US5768194 *||7 Jun 1995||16 Jun 1998||Hitachi, Ltd.||Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein|
|US5844843 *||30 Sep 1997||1 Dec 1998||Hitachi, Ltd.||Single chip data processing apparatus having a flash memory which is rewritable under the control of built-in CPU in the external write mode|
|US5960180 *||5 Jun 1997||28 Sep 1999||Adaptec, Inc.||Host adapter integrated circuit having autoaccess pause|
|US6026020 *||24 Jan 1997||15 Feb 2000||Hitachi, Ltd.||Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein|
|US6064593 *||31 Aug 1998||16 May 2000||Hitachi, Ltd.||Semiconductor integrated circuit device having an electrically erasable and programmable nonvolatile memory and a built-in processing unit|
|US6065121 *||31 Mar 1998||16 May 2000||Compaq Computer Corporation||Control of computer system wake/sleep transitions|
|US6130836 *||8 Oct 1999||10 Oct 2000||Hitachi, Ltd.||Semiconductor IC device having a control register for designating memory blocks for erasure|
|US6166953 *||8 Oct 1999||26 Dec 2000||Hitachi, Ltd.||Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein|
|US6181598||5 Nov 1999||30 Jan 2001||Hitachi, Ltd.||Data line disturbance free memory block divided flash memory and microcomputer having flash memory|
|US6202117 *||29 Apr 1999||13 Mar 2001||Adaptec, Inc.||Host adapter integrated circuit having autoaccess pause|
|US6240504 *||1 Nov 1999||29 May 2001||Texas Instruments Incorporated||Process of operating a microprocessor to change wait states|
|US6240505 *||1 Nov 1999||29 May 2001||Texas Instruments Incorporated||System with wait state registers|
|US6243801 *||1 Nov 1999||5 Jun 2001||Texas Instruments Incorporated||System with wait state registers|
|US6247111 *||1 Nov 1999||12 Jun 2001||Texas Instruments Incorporated||System with wait state register|
|US6249859 *||1 Nov 1999||19 Jun 2001||Texas Instruments Incorporated||IC with wait state registers|
|US6249860 *||1 Nov 1999||19 Jun 2001||Texas Instruments Incorporated||System with wait state registers|
|US6263418 *||1 Nov 1999||17 Jul 2001||Texas Instruments Incorporated||Process of operating a microprocessor to use wait state numbers|
|US6263419 *||1 Nov 1999||17 Jul 2001||Texas Instruments Incorporated||Integrated circuit with wait state registers|
|US6311264 *||1 Nov 1999||30 Oct 2001||Texas Instruments Incorporated||Digital signal processor with wait state register|
|US6334181 *||23 Jul 1999||25 Dec 2001||Texas Instruments Incorporated||DSP with wait state registers having at least two portions|
|US6335879||6 Nov 2000||1 Jan 2002||Hitachi, Ltd.||Method of erasing and programming a flash memory in a single-chip microcomputer having a processing unit and memory|
|US6400609||16 Nov 2001||4 Jun 2002||Hitachi, Ltd.|
|US6414878||27 Feb 2001||2 Jul 2002||Hitachi, Ltd.|
|US6493271||16 Nov 2001||10 Dec 2002||Hitachi, Ltd.|
|US6563359 *||3 Jan 2002||13 May 2003||Fujitsu Limited||Semiconductor integrated circuit including clock modulation circuit|
|US6690603||3 Jun 2002||10 Feb 2004||Hitachi, Ltd.||Microcomputer including a flash memory that is two-way programmable|
|US6748464 *||1 Feb 2001||8 Jun 2004||Mitsubishi Denki Kabushiki Kaisha||Semiconductor device comprising CPU and peripheral circuit wherein control unit performs wait cycle control that makes peripheral circuit wait a predetermined time before responding to CPU|
|US6804152||24 Sep 2002||12 Oct 2004||Renesas Technology Corp.||Method for manufacturing a printed board on which a semiconductor device having two modes is mounted|
|US6917994 *||3 Apr 2002||12 Jul 2005||Stmicroelectronics S.R.L.||Device and method for automatically generating an appropriate number of wait cycles while reading a nonvolatile memory|
|US6999350||26 Jul 2004||14 Feb 2006||Renesas Technology Corp.|
|US7057937||10 Aug 1998||6 Jun 2006||Renesas Technology Corp.||Data processing apparatus having a flash memory built-in which is rewritable by use of external device|
|US7184321||7 Oct 2005||27 Feb 2007||Hitachi Ulsi Systems Co., Ltd.|
|US7295476||25 Jan 2007||13 Nov 2007||Renesas Technology Corp.|
|US7376820 *||22 Dec 2000||20 May 2008||Fujitsu Limited||Information processing unit, and exception processing method for specific application-purpose operation instruction|
|US7505329||25 Sep 2007||17 Mar 2009||Renesas Technology Corp.|
|US7965563||2 Feb 2009||21 Jun 2011||Renesas Technology Corp.|
|US20010023479 *||22 Dec 2000||20 Sep 2001||Michihide Kimura||Information processing unit, and exception processing method for specific application-purpose operation instruction|
|US20020035654 *||1 Feb 2001||21 Mar 2002||Yasufumi Mori||Semiconductor device and a computer product|
|US20020184420 *||3 Apr 2002||5 Dec 2002||Stmicroelectronics S.R.I.||Device and method for managing wait cycles while reading a nonvolatile memory|
|US20030021157 *||24 Sep 2002||30 Jan 2003||Kiyoshi Matsubara|
|US20040268025 *||26 Jul 2004||30 Dec 2004||Kiyoshi Matsubara|
|US20050251638 *||21 Dec 2004||10 Nov 2005||Frederic Boutaud||Devices, systems and methods for conditional instructions|
|US20060034129 *||7 Oct 2005||16 Feb 2006||Kiyoshi Matsubara|
|US20070133308 *||25 Jan 2007||14 Jun 2007||Kiyoshi Matsubara|
|US20080028134 *||25 Sep 2007||31 Jan 2008||Kiyoshi Matsubara|
|US20090157953 *||2 Feb 2009||18 Jun 2009||Kiyoshi Matsubara|
|International Classification||G06F13/42, G06F13/28|
|17 Jun 1991||AS||Assignment|
Owner name: HITACHI MICROCOMPUTER ENGINEERING LTD., JAPAN
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:TAKANO, MAKOTO;HOSHI, YASUHIKO;KURAKAZU, KEIICHI;AND OTHERS;REEL/FRAME:005736/0748
Effective date: 19870803
Owner name: HITACHI, LTD., JAPAN
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:TAKANO, MAKOTO;HOSHI, YASUHIKO;KURAKAZU, KEIICHI;AND OTHERS;REEL/FRAME:005736/0748
Effective date: 19870803
|3 Apr 1995||FPAY||Fee payment|
Year of fee payment: 4
|1 Jun 1999||FPAY||Fee payment|
Year of fee payment: 8
|29 May 2003||FPAY||Fee payment|
Year of fee payment: 12