Information
-
Patent Application
-
20040186978
-
Publication Number
20040186978
-
Date Filed
May 15, 200321 years ago
-
Date Published
September 23, 200420 years ago
-
Inventors
-
Original Assignees
-
CPC
-
US Classifications
-
International Classifications
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.
1|
|
Attachment 1
WinbondStandardWT8051T
TurboIntel 8051vs Intel
Hexa-deci8051 ClockClock8051 Speed
InstructionOp-codeByteCyclesCyclesRatio
|
NOP013124
ADD A, R02813124
ADD A, R12913124
ADD A, R22A13124
ADD A, R32B13124
ADD A, R42C13124
ADD A, R52D13124
ADD A, R62E13124
ADD A, R72F13124
ADD A, @R02616122
ADD A, @R12716122
ADD A, direct2526122
ADD A, #data2426122
ADDC A, R03813124
ADDC A, R13913124
ADDC A, R23A13124
ADDC A, R33B13124
ADDC A, R43C13124
ADDC A, R53D13124
ADDC A, R63E13124
ADDC A, R73F13124
ADDC A, @R03616122
ADDC A, @R13716122
ADDC A, direct3526122
ADDC A, #data3426122
ACALL addr1111, 31, 51, 71,212242
91, B1, D1, F1
AJMP addr1101, 21, 41, 61,212242
81, A1, C1, E1
ANL A, R05813124
ANL A, R15913124
ANL A, R25A13124
ANL A, R35B13124
ANL A, R45C13124
ANL A, R55D13124
ANL A, R65E13124
ANL A, R75F13124
ANL A, @R05616122
ANL A, @R15716122
ANL A, direct5526122
ANL A, #data5426122
ANL direct, A5226122
ANL direct, #data53312242
ANL C, bit82212242
ANL C, /bitBO212242
CJNE A, direct, relB5312242
CJNE A, #data, relB4312242
CJNE @R0, #data, relB6312242
CJNE @R1, #data, relB7312242
CJNE R0, #data, relB8312242
CJNE R1, #data, relB9312242
CJNE R2, #data, relBA312242
CJNE R3, #data, relBB312242
CJNE R4, #data, relBC312242
CJNE R5, #data, relBD312242
CJNE R6, #data, relBE312242
CJNE R7, #data, relBE312242
CLR AE413124
CPL AF413124
CLR CC313124
CLR bitC226122
CPL CB313124
CPL bitB226122
DEC A1413124
DEC R01813124
DEC R11913124
DEC R21A13124
DEC R31B13124
DEC R41C13124
DEC R51D13124
DEC R61E13124
DEC R71F13124
DEC @R01616122
DEC @R11716122
DEC direct1526122
DEC DPTRA5————
DIV AB84124482
DA AD416122
DJNZ R0, relD8212242
DJNZ R1, relD9212242
DJNZ R2, relDD212242
DJNZ R3, relDA212242
DJNZ R4, relDB212242
DJNZ R5, relDC212242
DJNZ R6, relDE212242
DJNZ R7, relDF212242
DJNZ direct, relD5312242
INC A0413124
INC R00813124
INC R10913124
INC R20A13124
INC R30B13124
INC R40C13124
INC R50D13124
INC R60E13124
INC R70F13124
INC @R00616122
INC @R10716122
INC direct0526122
INC DPTRA3112242
JMP @A+DPTR73112242
JZ rel60212242
JNZ rel70212242
JC rel40212242
JNC rel50212242
JB bit, rel20312242
JNB bit, rel30312242
JBC bit, rel10312242
LCALL addr1612312242
LJMP addr1602312242
MUL ABA4124482
MOV A, R0E813124
MOV A, R1E913124
MOV A, R2EA13124
MOV A, R3EB13124
MOV A, R4EC13124
MOV A, R5ED13124
MOV A, R6EE13124
MOV A, R7EF13124
MOV A, @R0E613124
MOV A, @R1E713124
MOV A, directE526122
MOV A, #data7426122
MOV R0, AF813124
MOV R1, AF913124
MOV R2, AFA13124
MOV R3, AFB13124
MOV R4, AFC13124
MOV R5, AFD13124
MOV R6, AFE13124
MOV R7, AFF13124
MOV R0, directA826122
MOV R1, directA926122
MOV R2, directAA26122
MOV R3, directAB26122
MOV R4, directAC26122
MOV R5, directAD26122
MOV R6, directAE26122
MOV R7, directAF26122
MOV R0, #data7826122
MOV R1, #data7926122
MOV R2, #data7A26122
MOV R3, #data7B26122
MOV R4, #data7C26122
MOV R5, #data7D26122
MOV R6, #data7E26122
MOV R7, #data7F26122
MOV @R0, AF613124
MOV @R1, AF713124
MOV @R0, directA626122
MOV @R1, directA726122
MOV @R0, #data7626122
MOV @R1, #data7726122
MOV direct, AF5212242
MOV direct, R088212242
MOV direct, R189212242
MOV direct, R28A212242
MOV direct, R38B212242
MOV direct, R48C212242
MOV direct, R58D212242
MOV direct, R68E212242
MOV direct, R78F212242
MOV direct, @R086212242
MOV direct, @R187212242
MOV direct, direct85312242
MOV direct, #data75312242
MOV DPTR, #data 1690312242
MOVC A, @A+DPTR93112242
MOVC A, @A+PC83112242
MOVX A, @R0E2112-96(default 12)242
MOVX A, @R1E3112-96(default 12)242
MOVX A, @DPTRE0112-96(default 12)242
MOVX @R0, AF2112-96(default 12)242
MOVX @R1, AF3112-96(default 12)242
MOVX @DPTR, AF0112-96(default 12)242
MOV C, bitA226122
MOV bit, C92212242
ORL A, R04813124
ORL A, R14913124
ORL A, R24A13124
ORL A, R34B13124
ORL A, R44C13124
ORL A, R54D13124
ORL A, R64E13124
ORL A, R74F13124
ORL A, @R04616122
ORL A, @R14716122
ORL A, direct4526122
ORL A, #data44212242
ORL direct, A42212242
ORL direct, #data43312242
ORL C, bit72212242
ORL C, /bitA0212242
PUSH directC0212242
POP directD0212242
RET22112242
RETI32112242
RL A2313124
RLC A3313124
RR A0313124
RRC A1313124
SETB CD313124
SETB bitD226122
SWAP AC413124
SJMP rel80212242
SUBB A, R09813124
SUBB A, R19913124
SUBB A, R29A13124
SUBB A, R39B13124
SUBB A, R49C13124
SUBB A, R59D13124
SUBB A, R69E13124
SUBB A, R79F13124
SUBB A, @R09616122
SUBB A, @R19716122
SUBB A, direct9526122
SUBB A, #data9426122
XCH A, R0C813124
XCH A, R1C913124
XCH A, R2CA13124
XCH A, R3CB13124
XCH A, R4CC13124
XCH A, R5CD13124
XCH A, R6CE13124
XCH A, R7CF13124
XCH A, @R0C616122
XCH A, @R1C716122
XCHD A, @R0D616122
XCHD A, @R1D716122
XCH A, directC526122
XRL A, R06813124
XRL A, R16913124
XRL A, R26A13124
XRL A, R36B13124
XRL A, R46C13124
XRL A, R56D13124
XRL A, R66E13124
XRL A, R76F13124
XRL A, @R06616122
XRL A, @R16716122
XRL A, direct6526122
XRL A, #data6426122
XRL direct, A6226122
XRL direct, #data64312242
Average Speed2.87
Ratio
|
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 |
|