High-speed single chip microcomputer

Information

  • Patent Application
  • 20040186978
  • Publication Number
    20040186978
  • Date Filed
    May 15, 2003
    21 years ago
  • Date Published
    September 23, 2004
    20 years ago
Abstract
A high-speed single chip microcomputer compatible with an Intel 8-bits single chip microcomputer, that comprises the feature of: a machine cycle of the high-speed single chip microcomputer containing three state cycles, and the instruction execution time being equal to triple multiple of the state cycle.
Description


FIELD OF THE INVENTION

[0001] The present invention is related to a high-speed single chip microcomputer that is compatible with the Intel 8051 single chip microcomputer. By regulating a machine cycle of the single chip microcomputer to only contain three state cycles, we can speed up the instruction execution of the single chip microcomputer.



BACKGROUND OF THE INVENTION

[0002] The single chip microcomputer is an integrated chip (IC) that integrates a microcomputer into a single chip. It is at least comprised of a central processing unit (CPU), a memory unit, and an I/O unit. Due to the integrated microcomputer architecture, it is easy to develop an electrical product by using the single chip microcomputer. For example, the applications include music cards, remote controllers, communication devices, and even industrial controllers, etc.


[0003] The single chip microcomputer 8051, that belongs to MCS-51 series and designed by Intel, is one of the most popular and generally used 8-bits single chip microcomputers in the current market. So, many IC Design Houses and manufacturers also produce 8051 compatible single chip microcomputers. For example, 89C51 of ATMEL is fully compatible with Intel 8051.


[0004] The single chip microcomputers of Intel's MCS-51 series, including 8051, have been development for a long time since 1980. For now, the functions of the IA products and the industrial controller are more and more complex, so we need a more powerful single chip microcomputer to meet the requirements of these applications. And the most effective method is to speed up the instruction execution of the single chip microcomputer.


[0005] In the prior art, a machine cycle of 8051 contains six state cycles, and the time length of the state cycle is equal to two clock cycles of CPU clock. Therefore, the time length of a machine cycle is equal to 12 clock cycles. It takes 8051 single chip microcomputer 1 to 4 machine cycles for executing an instruction. That is equal to twelve multiple of the clock cycle.



SUMMARY OF THE INVENTION

[0006] The main purpose of the present invention is, developing a high-speed single chip microcomputer that is compatible with Intel 8051 to improve the instruction execution speed. By regulating a machine cycle of the single chip microcomputer to only contain three state cycles, and the time length of a state cycle being equal to a clock cycle of CPU Clock, the instruction execution time of the single chip microcomputer will become only triple multiple of the clock cycle. Then we can speed up the instruction execution of the single chip microcomputer.


[0007] For above purpose, the present invention provides a kind of high-speed single chip microcomputer, that is compatible with an Intel 8-bits single chip microcomputer and comprises the feature of: a machine cycle of the single chip microcomputer containing three state cycles, and the execution time of an instruction being equal to triple multiple of the state cycle.


[0008] In accordance with one aspect of the present invention, the Intel 8-bits single chip microcomputer belongs to MCS-51 series.


[0009] In accordance with one aspect of the present invention, the single chip microcomputer of MCS-51 series is 8051.


[0010] In accordance with one aspect of the present invention, the time length of said state cycle is equal to a clock cycle of CPU clock.


[0011] In accordance with one aspect of the present invention, the single chip microcomputer is embedded into a controller.


[0012] The present invention may best be understood through the following description with reference to the accompanying drawings, in which:







BRIEF DESCRIPTION OF THE DRAWINGS

[0013]
FIG. 1: The execution sequence diagram of a one-byte instruction containing three clock cycles.


[0014]
FIG. 2: The execution sequence diagram of a one-byte instruction containing six clock cycles.


[0015]
FIG. 3: The execution sequence diagram of a two-bytes instruction containing six clock cycles.







DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0016]
FIG. 1 is a preferred embodiment according to the present invention. That is the execution sequence diagram of a one-byte instruction containing three clock cycles. The time length of a state cycle is equal to a clock cycle of CPU clock. The execution sequence of the instruction is:


[0017] Clock cycle C1 (state cycle S1): The program counter fetches the data at the program address N from the program memory.


[0018] Clock cycle C2 (state cycle S2): The fetched data appears in the data bus.


[0019] Clock cycle C3 (state cycle S3): Instruction N is a one-byte OP code, which is decoded by CPU.


[0020] Clock cycle C4˜C6 (state cycle S1˜S3, machine cycle M): The execution cycle of Instruction N is equal to three clock cycles, that is, three state cycles are equal to one machine cycle. Instruction N+1 is also contained in this cycle, fetched from the program address N+1 of the program memory, and decoded by CPU.


[0021] Clock cycle C7˜C9 (state cycle S1˜S3, machine cycle M): The execution cycle of Instruction N+1 is also three state cycles, which is equal to one machine cycle. Instruction N+2 is also contained in this cycle, fetched from the program address N+2 of the program memory, and decoded by CPU.


[0022] Clock cycle C10˜C2 (state cycle S1˜S3, machine Cycle M): The execution cycle of Instruction N+2 is also three state cycles, which is equal to one machine cycle. In this cycle, program counter will fetch data from program address N+2 of the program memory.


[0023]
FIG. 2 is the other preferred embodiment according to the present invention. That is the execution sequence diagram of a one-byte instruction containing six clock cycles. The time length of a state cycle is equal to a clock cycle of CPU clock. The execution sequence of the instruction is:


[0024] Clock cycle C1 (state cycle S1): The program counter fetches the data at the program address N from the program memory.


[0025] Clock cycle C2 (state cycle S2): The fetched data appears in the Data Bus.


[0026] Clock cycle C3 (state cycle S3): Instruction N is a one-byte OP Code, which is decoded by CPU.


[0027] Clock cycle C4˜C9 (state cycle S1˜S3 will be progresses twice, machine cycle M1˜M2): The execution cycle of Instruction N is equal to six clock cycles, that is, six state cycles are equal to two machine cycles. Instruction N+1 is also contained in this cycle, fetched from the program address N+1 of the program memory, and decoded by CPU.


[0028] Clock cycle C10˜C12 (state cycle S1˜S3): The execution cycle duration of Instruction N+1. During this cycle, program counter will fetch data from program address N+2 of the program memory.


[0029]
FIG. 3 is another preferred embodiment according to the present invention. That is the execution sequence diagram of a two-bytes instruction containing six clock cycles. The time length of a state cycle is equal to a clock cycle of CPU clock. The execution sequence of the instruction is:


[0030] Clock cycle C1 (state cycle S1): The program counter fetches the data at the program address N from the program memory.


[0031] Clock cycle C2 (state cycle S2): The fetched data appears in the Data Bus.


[0032] Clock cycle C3 (state cycle S3): Instruction N is a one-byte OP Code, which is decoded by CPU.


[0033] Clock cycle C4˜C6 (state cycle S1˜S3, machine cycle M1): The program counter fetches the data at the program address N+1 from the program memory, and sends to CPU as the Operand of Instruction N for instruction execution.


[0034] Clock cycle C7˜C9 (state cycle S1˜S3, machine cycle M2): Processing the execution of Instruction N, and the duration is three clock cycles. That is, three state cycles are equal to one machine cycle. Therefore, the total execution cycle of Instruction N is six clock cycles within the Operand fetching of Instruction N to CPU; that is six state cycles or two machine cycles. During this cycle, the program counter will fetch data from program address N+2 of program memory.


[0035] The above preferred embodiments illustrate the execution sequence of three 8051 standard instructions. In fact, we have completed the hardware design of the present invention to implement a high-speed 8051 compatible single chip microcomputer, and all standard instructions of 8051 and extending instructions of 8051 compatible single chip microcomputers are also well executed on it.


[0036] Attachment 1 shows the comparison table of the instruction execution speed between the prior Intel 8051 and high-speed 8051 compatible single chip microcomputer (WT8051T) of the present invention, that is all based on the same CPU clock. In the table, the instruction execution time of WT8051T is equal to triple multiple of three clock cycles, that is the triple multiple of state cycle; but the standard Intel 8051 will be the twelve multiple. From Attachment 1 we may easily find that, the instruction execution speed of WT8051T will be faster than standard Intel 8051 for 2.88 times averagely.


[0037] To sum up, the present invention provides an improving solution for the prior art. By regulating a machine cycle of the single chip microcomputer that is compatible with Intel 8051 to only contain three state cycles, and the time length of a state cycle being equal to a clock cycle of CPU Clock, we can make the instruction execution time of the single chip microcomputer become only triple multiple of the clock cycle. The improvement of the present invention is, based on the instruction execution speed comparison of the prior Intel 8051 and the high-speed 8051 compatible single chip microcomputer of the present invention, the instruction execution speed of the present invention will be faster than the prior Intel 8051 for 2.88 times averagely. It is obvious to speed up the instruction execution of the single chip microcomputer.


[0038] While the invention has been described in terms of what are presently considered to be the most practical and preferred embodiments, it is to be understood that the invention need not be limited to the disclosed embodiment. On the contrary, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims that are to be accorded with the broadest interpretation so as to encompass all such modifications and similar structures.


[0039] Attachment 1: The instruction execution speed comparison table of the prior Intel 8051 and the high-speed 8051 compatible single chip microcomputer of the present invention.
1Attachment 1WinbondStandardWT8051TTurboIntel 8051vs IntelHexa-deci8051 ClockClock8051 SpeedInstructionOp-codeByteCyclesCyclesRatioNOP013124ADD A, R02813124ADD A, R12913124ADD A, R22A13124ADD A, R32B13124ADD A, R42C13124ADD A, R52D13124ADD A, R62E13124ADD A, R72F13124ADD A, @R02616122ADD A, @R12716122ADD A, direct2526122ADD A, #data2426122ADDC A, R03813124ADDC A, R13913124ADDC A, R23A13124ADDC A, R33B13124ADDC A, R43C13124ADDC A, R53D13124ADDC A, R63E13124ADDC A, R73F13124ADDC A, @R03616122ADDC A, @R13716122ADDC A, direct3526122ADDC A, #data3426122ACALL addr1111, 31, 51, 71,21224291, B1, D1, F1AJMP addr1101, 21, 41, 61,21224281, A1, C1, E1ANL A, R05813124ANL A, R15913124ANL A, R25A13124ANL A, R35B13124ANL A, R45C13124ANL A, R55D13124ANL A, R65E13124ANL A, R75F13124ANL A, @R05616122ANL A, @R15716122ANL A, direct5526122ANL A, #data5426122ANL direct, A5226122ANL direct, #data53312242ANL C, bit82212242ANL C, /bitBO212242CJNE A, direct, relB5312242CJNE A, #data, relB4312242CJNE @R0, #data, relB6312242CJNE @R1, #data, relB7312242CJNE R0, #data, relB8312242CJNE R1, #data, relB9312242CJNE R2, #data, relBA312242CJNE R3, #data, relBB312242CJNE R4, #data, relBC312242CJNE R5, #data, relBD312242CJNE R6, #data, relBE312242CJNE R7, #data, relBE312242CLR AE413124CPL AF413124CLR CC313124CLR bitC226122CPL CB313124CPL bitB226122DEC A1413124DEC R01813124DEC R11913124DEC R21A13124DEC R31B13124DEC R41C13124DEC R51D13124DEC R61E13124DEC R71F13124DEC @R01616122DEC @R11716122DEC direct1526122DEC DPTRA5DIV AB84124482DA AD416122DJNZ R0, relD8212242DJNZ R1, relD9212242DJNZ R2, relDD212242DJNZ R3, relDA212242DJNZ R4, relDB212242DJNZ R5, relDC212242DJNZ R6, relDE212242DJNZ R7, relDF212242DJNZ direct, relD5312242INC A0413124INC R00813124INC R10913124INC R20A13124INC R30B13124INC R40C13124INC R50D13124INC R60E13124INC R70F13124INC @R00616122INC @R10716122INC direct0526122INC DPTRA3112242JMP @A+DPTR73112242JZ rel60212242JNZ rel70212242JC rel40212242JNC rel50212242JB bit, rel20312242JNB bit, rel30312242JBC bit, rel10312242LCALL addr1612312242LJMP addr1602312242MUL ABA4124482MOV A, R0E813124MOV A, R1E913124MOV A, R2EA13124MOV A, R3EB13124MOV A, R4EC13124MOV A, R5ED13124MOV A, R6EE13124MOV A, R7EF13124MOV A, @R0E613124MOV A, @R1E713124MOV A, directE526122MOV A, #data7426122MOV R0, AF813124MOV R1, AF913124MOV R2, AFA13124MOV R3, AFB13124MOV R4, AFC13124MOV R5, AFD13124MOV R6, AFE13124MOV R7, AFF13124MOV R0, directA826122MOV R1, directA926122MOV R2, directAA26122MOV R3, directAB26122MOV R4, directAC26122MOV R5, directAD26122MOV R6, directAE26122MOV R7, directAF26122MOV R0, #data7826122MOV R1, #data7926122MOV R2, #data7A26122MOV R3, #data7B26122MOV R4, #data7C26122MOV R5, #data7D26122MOV R6, #data7E26122MOV R7, #data7F26122MOV @R0, AF613124MOV @R1, AF713124MOV @R0, directA626122MOV @R1, directA726122MOV @R0, #data7626122MOV @R1, #data7726122MOV direct, AF5212242MOV direct, R088212242MOV direct, R189212242MOV direct, R28A212242MOV direct, R38B212242MOV direct, R48C212242MOV direct, R58D212242MOV direct, R68E212242MOV direct, R78F212242MOV direct, @R086212242MOV direct, @R187212242MOV direct, direct85312242MOV direct, #data75312242MOV DPTR, #data 1690312242MOVC A, @A+DPTR93112242MOVC A, @A+PC83112242MOVX A, @R0E2112-96(default 12)242MOVX A, @R1E3112-96(default 12)242MOVX A, @DPTRE0112-96(default 12)242MOVX @R0, AF2112-96(default 12)242MOVX @R1, AF3112-96(default 12)242MOVX @DPTR, AF0112-96(default 12)242MOV C, bitA226122MOV bit, C92212242ORL A, R04813124ORL A, R14913124ORL A, R24A13124ORL A, R34B13124ORL A, R44C13124ORL A, R54D13124ORL A, R64E13124ORL A, R74F13124ORL A, @R04616122ORL A, @R14716122ORL A, direct4526122ORL A, #data44212242ORL direct, A42212242ORL direct, #data43312242ORL C, bit72212242ORL C, /bitA0212242PUSH directC0212242POP directD0212242RET22112242RETI32112242RL A2313124RLC A3313124RR A0313124RRC A1313124SETB CD313124SETB bitD226122SWAP AC413124SJMP rel80212242SUBB A, R09813124SUBB A, R19913124SUBB A, R29A13124SUBB A, R39B13124SUBB A, R49C13124SUBB A, R59D13124SUBB A, R69E13124SUBB A, R79F13124SUBB A, @R09616122SUBB A, @R19716122SUBB A, direct9526122SUBB A, #data9426122XCH A, R0C813124XCH A, R1C913124XCH A, R2CA13124XCH A, R3CB13124XCH A, R4CC13124XCH A, R5CD13124XCH A, R6CE13124XCH A, R7CF13124XCH A, @R0C616122XCH A, @R1C716122XCHD A, @R0D616122XCHD A, @R1D716122XCH A, directC526122XRL A, R06813124XRL A, R16913124XRL A, R26A13124XRL A, R36B13124XRL A, R46C13124XRL A, R56D13124XRL A, R66E13124XRL A, R76F13124XRL A, @R06616122XRL A, @R16716122XRL A, direct6526122XRL A, #data6426122XRL direct, A6226122XRL direct, #data64312242Average Speed2.87Ratio


Claims
  • 1. A high-speed single chip microcomputer compatible with an Intel 8-bits single chip microcomputer comprising the feature of: a machine cycle of said single chip microcomputer containing three state cycles, and the execution time of an instruction being equal to triple multiple of said state cycle.
  • 2. The single chip microcomputer according to claim 1 wherein said Intel 8-bits single chip microcomputer belongs to MCS-51 series.
  • 3. The single chip microcomputer according to claim 2 wherein said single chip microcomputer of MCS-51 series is 8051.
  • 4. The single chip microcomputer according to claim 1 wherein the time length of said state cycle is equal to a clock cycle of CPU clock.
  • 5. The single chip microcomputer according to claim 1 wherein said single chip microcomputer is embedded into a controller.
Priority Claims (1)
Number Date Country Kind
092103817 Feb 2003 TW