GB2184578A - A microprogram control device - Google Patents

A microprogram control device Download PDF

Info

Publication number
GB2184578A
GB2184578A GB08627257A GB8627257A GB2184578A GB 2184578 A GB2184578 A GB 2184578A GB 08627257 A GB08627257 A GB 08627257A GB 8627257 A GB8627257 A GB 8627257A GB 2184578 A GB2184578 A GB 2184578A
Authority
GB
United Kingdom
Prior art keywords
instruction
microprogram
address
control device
cycle
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.)
Granted
Application number
GB08627257A
Other versions
GB2184578B (en
GB8627257D0 (en
Inventor
Hiromasa Nakagawa
Tsunenori Umeki
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of GB8627257D0 publication Critical patent/GB8627257D0/en
Publication of GB2184578A publication Critical patent/GB2184578A/en
Application granted granted Critical
Publication of GB2184578B publication Critical patent/GB2184578B/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

The device includes an instruction register 2 for storing an instruction code which is taken in from a data bus, (1) the means for generating an address for accessing microprogram memory 12 from the output of said instruction register including a first address decoder 5 for decoding an instruction type AD10 from a particular part of said instruction code of said instruction register and a second address decoder 6 for decoding the addressing mode AD20 of said instruction from the other particular bit of said instruction code; and a third address decoder 7 to function as an address signal generator for designating the microprogram cycle addresses AD30 for accessing said microprogram memory at each cycle of the instruction. The device controls a data path section 25 provided in a CPU via nano-ROM devices 17-20 which also receive instruction directly from instruction register 2. <IMAGE>

Description

SPECIFICATION Microprogram control device Field of the invention The present invention relates to a microprogram control device, and more particularly to that in which the address designation ofthe microprogram ROM bya successive address designating method is simplified by converting onlythe instruction cycle value of the successive address from the microprogram ROM.
Background art Figure 3 is a blockdiagramshowingthe microprogram control by the computer using the conventional successive address designating method recited in Electronics January 27, 1981,pp 107 to pp 111. This microprocessorisan 8 bit microcomputer. In Figure 3, the reference numeral 1 designates an 8 bit data bus, the reference numeral 2 designates an instruction register, the reference numeral 3 designates an address signal linefor sending the content of the instructions register 2 to the multiplexer and address decoder 5. The reference numeral 8 designates an 8 bit signal line to the microprogram ROM 12. The reference numeral 11 designates a successive address 8 bit signal ofthe microprogram ROM 12 of the next cycle which is output from the microprogram ROM 12.The reference numeral 13 designates a 43 bit control line between the data path section 25 and the microprogram ROM 12. The reference numeral 26 designates a selector signal line for controlling the multiplexer 5.
Figure 4 shows a timing chart of the operation of the microprogram control device of Figure 3. In Figure 4, the reference character * designates a system clock, the reference character IF designates an instruction fetch signal fortaking in the instruction code to the instruction register 2 from the data bus 1. The reference character IR designates the content of the instruction register 2 such as an operation code taken in from the data bus 1 by the IF.
The reference character AD1 designates an address ofthe microprogram ROM, and this address has an 8 bit width. The reference characters S1 to S3 designate the output of the microprogram ROM 12 for controlling the control line 13 of the data path section 25.
The operation of the microprogram control will be described with reference to Figures 3 and 4. The timing chart of Figure 4 is that in a case where an instruction (fourcycle instruction) is executed bythe microprogram control of Figure 3 Suppose thatthe instruction code is a provisional instruction such as AAh (hereinafter the h designates the hexadecimal representation).
In Figure4,when the IF signal is "H", an 8bit instruction code is taken in into the instruction register 2 from the data bus 1. At the next first cycle the output from the successive address designating signal line 11 1 which is a portion of the microcode from the microprogram ROM 12 is halted to be taken in into the multiplexer and address decoderS by the signal of the selector signal line 26, which signal is a portion ofthe same microcode. In this case, the content of the instruction register 2, that is, the 8 bit instruction code becomes the address of the microprogram ROM 12 through the multiplexer 5 (AAh in Figure 4), and it outputs a control signal to the data path section 25 in accordance with the microcode.
At the second cycle, as the address to be inputto the microprogram ROM 12 the previous cycle 8 bit successive address from the microprogram ROM 12 is obtained caused by that the input of the multiplexer 5 is switched in accordance with the selector signal 26. By this method it is possible to obtain a random value as the successive address.
In the cycles subsequent thereto the address output atthe previous cycle is input to the microprogram ROM 12 to conduct a control successively until this instruction is concluded. In Figure 4, as the AD1 AAheA3h~B4heC5h can be output in turn from the first cycle.
In such a prior art successive address designating system, in a case where the bit width ofthe instruction code falls in the 8 bit class the control cannot be conducted when the number of combination of the control pattern (control lines of 43 bit) for controlling the CPU becomes larger than 256.
Accordingly, in a case where a bit width ofthe instruction code of a microcontroller or microprocessor is one largerthan an 8 bit, for example, a 16 bit, it is quite ineffective to utilize the access method against the microprogram ROM 12 in which the successive address has a 16 bitwidth similarly as the prior art method of Figure 3.
Furthermore in this case, as the control pattern for controlling the data path section 25216 kinds of successive addresses can be output, but such a system is not practical. Furthermore,the instruction code in the microcontroller or the microprocessor are often constituted by such as an instruction type designating bit such as an operation instruction, a transfer instruction, or a jump instruction, or an addressing mode designating bit. Especially when the instruction code width falls a in 16 bit class, the instruction type and the addressing mode are used quite often, and a sufficient performance cannot be accomplished bythe priorartsuccessiveaddress designating method.
Summary ofthe invention An object of the present invention is to provide an improved microprogram control device wherein a successive address designating method ofthe microprogram ROM is simply realized on an integrated circuit even if the bit number ofthe instruction code and the number of the data bus control (the number of the control pattern) are increased.
Other objects and advantages of the present invention will become apparent from the detailed description given hereinafter; it should be understood, however, that the detailed description and specific embodiment are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the artfrom this detailed description.
According to the present invention,there is provided a microprogram control device for controlling a data path section provided in a CPU with the use of the microcode which is stored in a microprogram memory by a microprogramming method in a computer conducting a microprogram control, which comprises: an instruction register for storing an instruction code which is taken in from a data bus; means for generating an addressfor accessing said microprogram memory from the output of said instruction register including a first address decoder for decoding an instruction type from the particular bit of said instruction code of said instruction register and a second address decoder for decoding the addressing mode of said instruction from the other particular bit of said instruction code; and a third address decoder to function as an address signal generator for designating the timing for accessing said microprogram memory at each cycle of the instruction.
Brief description ofthe drawings Figure 1 is a block diagram showing a microprogram control device utilizing a successive addressing method as an embodiment of the present invention; Figure2isatimingchartforexemplifyingthe operation thereof; Figure 3 is a block diagram showing the prior art successive addressing system microprogram control device; and Figure4is a timing chartforexemplifying the operation thereof.
Detailed description ofthe preferred embodiments In order to explain the present invention in detail, reference will be particularly made to Figure 1.
In Figure 1,the reference numeral 1 designates a data bus, the numeral 2 designates an instruction register, the numeral 12 designates a microprogram ROM, the numerals 5 and 6 designate a first and a second address decoder which receives the instruction code in the instruction register 2 and generates addressesforthe microprogram ROM 12.
The reference numerals 17 to 20 designate circuits for decoding the output microcode ofthe microprogram ROM 12 against each control bit on the data path section 25 (hereinafter reffered to as nano-program memory; nROM). The reference numerals 21 to24designateoutputsignal linesfrom the nROM to the data path section 25. The reference numerals 13 to 16 designate output signal lines from the microprogram ROM l2tothe nROMs 17to 20.
The reference numeral 7 designates a decoder for receiving the output of the microprogram ROM 12 and designating the successive address for designating the cycle value ofthe instruction.
Furthermore, the reference numeral 11 designates a successive address signal line from the microprogram ROM 12, and the reference numerals 8 to 10 designate address output lines (AD1 0, AD20, AD30) from the address decoders 5 to 7 to the microprogram ROM 12. In this embodimentthe successive address designation is conducted by the address decoder 7. The reference numeral 4 designates a signal line for sending the instruction code from the instruction register 2 to the nROMs 17 to 20.
Next, the operation of this microprogram control device will be described. Figure 2 shows a timing chart in executing an instruction (4 cycle instruction) as the microprogram control of Figure 1. Suppose that the instruction code is a provisional instruction of AAAAh.
In Figure 2,when the IFsignal is "H",a 16 bit instruction code from the data bus 1 is taken in into the instruction register 2. At the next cycle components relating to the instruction type and the addressing mode are extracted from the instruction code which is taken in into the instruction register 2, and it is made an address of the microprogram ROM 12. In Figure 2, the first cycle outputs are made, for example, AOh and BOh. This value is held until the instruction is concluded. Thefirstcycle address decoder 7 takes out a microcode from the microprogram ROM 12 so as to enable of setting the address at a cycle value (1 h in Figure 2) at which the instruction is started.
In the cycles subsequentthereto, that is, in the second, the third, and the fourth cycle the successive addressesareoutputfrom a portion ofthe microprogram ROM 12successively. For example, the successive addresses are 3h#5h#6h as shown in Figure 2. At each cycle the output from the microprogram ROM l2issenttothenROMs 17to20, and these are combined with a portion ofthe instruction code of the instruction register 2 to generate a control signal to be sentto the data path section 25.
In this embodiment the address input of the microprogram ROM comprises three components of an instruction type, an addressing mode both separated from the instruction code, and an instruction cyclevalueoutputfromthe microprogram ROM, and the successive address designation from the microprogram ROM is conducted by only the instruction cycle value.
Accordingly, it is possible to preventthe increase in the bit number of the microcodes for designating the successive addresses of the microprogram ROM even ifthe bit number of instruction codes of a microcomputer or microcontroller is increased in a case where the successive address designating method is used. This results in that a microcomputer ormicrocontrollerwhich utilizes the successive address designating method with an increased bit number of instruction codes is easily realized on integrated circuits. Furthermore, it results in a tremendously efficient development of a microcomputer.

Claims (5)

1. A microprogram control device for controlling a data path section provided in a CPU with the use of the microcode which is stored in a microprogram memory by a microprogramming method in a computer conducting a microprogram control, which comprises: an instruction registerforstoring an instruction code which is taken in from a data bus; means for generating an addressforaccessing said microprogram memory from the output of said instruction register including a first address decoder for decoding an instruction type from the particular bit of said instruction code of said instruction register and a second address decoderfordecoding the addressing mode of said instruction from the other particular bit of said instruction code; and a third address decoder to function as an address signal generator for designating the timing for accessing said microprogram memory at each cycle of the instruction.
2. A microprogram control device as defined in Claim 1, which further comprises decoding means for decoding the microcode comprising the combination of the microcode read out from the microprogram memory by the address designation from the three address decoders and the bit of a portion of the instruction code from said instruction registertocontrol each blockofsaiddata path section.
3. A microprogram control device as defined in Claim 1, wherein the microprogram memory is accessed for each cycle of instruction by a successive address designating method in which a portion of the previous cycle output of said microprogram memory constitute a portion of the address component ofthe next cycle.
4. A microprogram control device as defined in Claim 1, wherein the respective circuits of said control device are provided on a semiconductor integrated circuit.
5. A microprogram control device substantiate hereinbefore described to reference to Figures 1 and 2.
GB8627257A 1985-11-15 1986-11-14 Microprogram control device Expired GB2184578B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25727985A JPS62117038A (en) 1985-11-15 1985-11-15 Microprogram controller

Publications (3)

Publication Number Publication Date
GB8627257D0 GB8627257D0 (en) 1986-12-17
GB2184578A true GB2184578A (en) 1987-06-24
GB2184578B GB2184578B (en) 1989-10-04

Family

ID=17304166

Family Applications (1)

Application Number Title Priority Date Filing Date
GB8627257A Expired GB2184578B (en) 1985-11-15 1986-11-14 Microprogram control device

Country Status (3)

Country Link
JP (1) JPS62117038A (en)
CA (1) CA1270572A (en)
GB (1) GB2184578B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2203572A (en) * 1987-03-24 1988-10-19 Insignia Solutions Limited Microprocessor emulation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2099618A (en) * 1981-06-02 1982-12-08 Tektronix Inc Algorithmic word generator
EP0110227A2 (en) * 1982-11-24 1984-06-13 HONEYWELL INFORMATION SYSTEMS ITALIA S.p.A. Control memory organization
GB2133189A (en) * 1982-12-31 1984-07-18 Philips Nv Microprogram arrangement

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS531432A (en) * 1976-06-28 1978-01-09 Nec Corp Information processing unit
JPS57168345A (en) * 1981-04-09 1982-10-16 Hitachi Ltd Data processing device
JPS59220842A (en) * 1983-05-27 1984-12-12 Nec Corp Data processor
JPS61170828A (en) * 1985-01-24 1986-08-01 Hitachi Ltd Microprogram control device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2099618A (en) * 1981-06-02 1982-12-08 Tektronix Inc Algorithmic word generator
EP0110227A2 (en) * 1982-11-24 1984-06-13 HONEYWELL INFORMATION SYSTEMS ITALIA S.p.A. Control memory organization
GB2133189A (en) * 1982-12-31 1984-07-18 Philips Nv Microprogram arrangement

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2203572A (en) * 1987-03-24 1988-10-19 Insignia Solutions Limited Microprocessor emulation
GB2203572B (en) * 1987-03-24 1991-11-27 Insignia Solutions Limited Improvements in data processing means

Also Published As

Publication number Publication date
GB2184578B (en) 1989-10-04
CA1270572A (en) 1990-06-19
JPS62117038A (en) 1987-05-28
GB8627257D0 (en) 1986-12-17

Similar Documents

Publication Publication Date Title
EP0597441A1 (en) Microprocessor having a bus-width change function
US4954943A (en) Data processing system
US5249273A (en) Microprocessor having a variable length instruction format
JPS6259822B2 (en)
JPS60167034A (en) Auxiliary control memory for upgrading performance of cpu pipeline
US5117488A (en) Microprogram controlled microprocessor having a selectively expandable instruction code length including independent description of operand addressing and a type of operation for an operand by single instruction in a common coding scheme
US4251862A (en) Control store organization in a microprogrammed data processing system
KR920007253B1 (en) Controlling apparatus for micro-program
US4635188A (en) Means for fast instruction decoding for a computer
US5142630A (en) System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching
GB2184578A (en) A microprogram control device
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
EP0162928B1 (en) Microprogram control method
US5454088A (en) Microprogram control device for controlling data path section including designation of instruction cycle values
US4747039A (en) Apparatus and method for utilizing an auxiliary data memory unit in a data processing system having separate program and data memory units
US5187782A (en) Data processing system
GB1576652A (en) Addressing unit for a microprogrammed memory
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JP3644892B2 (en) Data processing apparatus for executing a plurality of instruction sets
US5410659A (en) Digital processor with instruction memory of reduced storage size
JPS6065342A (en) Microcomputer
US5109516A (en) Sequence controller for controlling next operating state with a short sequence
CA1314104C (en) Executing code from slow rom on high speed computer compatible with slower speed computers
SU1485239A1 (en) Multiprogram controller
JPS59206968A (en) Eprom mounted type microcomputer

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee
728C Application made for restoration (sect. 28/1977)
728A Order made restoring the patent (sect. 28/1977)
PCNP Patent ceased through non-payment of renewal fee

Effective date: 19951114