HT46R002/HT46R003
Cost-Effective A/D 8-Bit OTP MCU
System Architecture
Aꢀkeyꢀfactorꢀinꢀtheꢀhigh-performanceꢀfeaturesꢀofꢀtheꢀHoltekꢀrangeꢀofꢀmicrocontrollersꢀisꢀattributedꢀ
toꢀtheꢀinternalꢀsystemꢀarchitecture.ꢀTheꢀrangeꢀofꢀdevicesꢀtakeꢀadvantageꢀofꢀtheꢀusualꢀfeaturesꢀfoundꢀ
withinꢀRISCꢀmicrocontrollersꢀprovidingꢀincreasedꢀspeedꢀofꢀoperationꢀandꢀenhancedꢀperformance.ꢀ
Theꢀpipeliningꢀschemeꢀisꢀimplementedꢀinꢀsuchꢀaꢀwayꢀthatꢀinstructionꢀfetchingꢀandꢀinstructionꢀ
executionꢀareꢀoverlapped,ꢀhenceꢀinstructionsꢀareꢀeffectivelyꢀexecutedꢀinꢀoneꢀcycle,ꢀwithꢀtheꢀ
exceptionꢀofꢀbranchꢀorꢀcallꢀinstructions.ꢀAnꢀ8-bitꢀwideꢀALUꢀisꢀusedꢀinꢀpracticallyꢀallꢀoperationsꢀ
ofꢀtheꢀinstructionꢀset.ꢀItꢀcarriesꢀoutꢀarithmeticꢀoperations,ꢀlogicꢀoperations,ꢀrotation,ꢀincrement,ꢀ
decrement,ꢀbranchꢀdecisions,ꢀetc.ꢀTheꢀinternalꢀdataꢀpathꢀisꢀsimplifiedꢀbyꢀmovingꢀdataꢀthroughꢀtheꢀ
AccumulatorꢀandꢀtheꢀALU.ꢀCertainꢀinternalꢀregistersꢀareꢀimplementedꢀinꢀtheꢀDataꢀMemoryꢀandꢀ
canꢀbeꢀdirectlyꢀorꢀindirectlyꢀaddressed.ꢀTheꢀsimpleꢀaddressingꢀmethodsꢀofꢀtheseꢀregistersꢀalongꢀ
withꢀadditionalꢀarchitecturalꢀfeaturesꢀensureꢀthatꢀaꢀminimumꢀofꢀexternalꢀcomponentsꢀisꢀrequiredꢀtoꢀ
provideꢀaꢀfunctionalꢀI/OꢀandꢀA/Dꢀsystemꢀwithꢀmaximumꢀreliabilityꢀandꢀflexibility.
Clocking and Pipelining
Theꢀmainꢀsystemꢀclock,ꢀderivedꢀfromꢀHIRCꢀoscillatorꢀisꢀsubdividedꢀintoꢀfourꢀinternallyꢀgeneratedꢀ
non-overlappingꢀclocks,ꢀT1~T4.TheꢀProgramꢀCounterꢀisꢀincrementedꢀatꢀtheꢀbeginningꢀofꢀtheꢀT1ꢀ
clockꢀduringꢀwhichꢀtimeꢀaꢀnewꢀinstructionꢀisꢀfetched.ꢀTheꢀremainingꢀT2~T4ꢀclocksꢀcarryꢀoutꢀtheꢀ
decodingꢀandꢀexecutionꢀfunctions.ꢀInꢀthisꢀway,ꢀoneꢀT1~T4ꢀclockꢀcycleꢀformsꢀoneꢀinstructionꢀcycle.ꢀ
Althoughꢀtheꢀfetchingꢀandꢀexecutionꢀofꢀinstructionsꢀtakesꢀplaceꢀinꢀconsecutiveꢀinstructionꢀcycles,ꢀtheꢀ
pipeliningꢀstructureꢀofꢀtheꢀmicrocontrollerꢀensuresꢀthatꢀinstructionsꢀareꢀeffectivelyꢀexecutedꢀinꢀoneꢀ
instructionꢀcycle.ꢀTheꢀexceptionꢀtoꢀthisꢀareꢀinstructionsꢀwhereꢀtheꢀcontentsꢀofꢀtheꢀProgramꢀCounterꢀ
areꢀchanged,ꢀsuchꢀasꢀsubroutineꢀcallsꢀorꢀjumps,ꢀinꢀwhichꢀcaseꢀtheꢀinstructionꢀwillꢀtakeꢀoneꢀmoreꢀ
instructionꢀcycleꢀtoꢀexecute.
T
1
T
2
T
3
T
1
T
4
T
2
T
3
T
1
T
4
T
2
T
3
T
4
S
y
e
s
t
m
C
l
c
o
k
O
C
S
2
R
(
C
o
l
n
)
y
P
C
P
+
C
1
P
+
C
2
P
C
F
t
e
h
c
I
S
N
T
P
(
)
C
E
e
x
c
u
I
S
N
t
e
T
P
(
-
C
)
1
F
t
e
h
c
I
S
N
T
P
(
+
C
)
1
E
e
x
c
u
I
S
N
t
e
T
P
(
)
C
F
t
e
h
c
I
S
N
T
P
(
+
C
)
2
E
e
x
c
u
I
S
N
t
e
T
P
(
+
C
)
1
System Clocking and Pipelining
Forꢀinstructionsꢀinvolvingꢀbranches,ꢀsuchꢀasꢀjumpꢀorꢀcallꢀinstructions,ꢀtwoꢀinstructionꢀcyclesꢀareꢀ
requiredꢀtoꢀcompleteꢀinstructionꢀexecution.ꢀAnꢀextraꢀcycleꢀisꢀrequiredꢀasꢀtheꢀprogramꢀtakesꢀoneꢀ
cycleꢀtoꢀfirstlyꢀobtainꢀtheꢀactualꢀjumpꢀorꢀcallꢀaddressꢀandꢀthenꢀanotherꢀcycleꢀtoꢀactuallyꢀexecuteꢀtheꢀ
branch.ꢀTheꢀrequirementꢀforꢀthisꢀextraꢀcycleꢀshouldꢀbeꢀtakenꢀintoꢀaccountꢀbyꢀprogrammersꢀinꢀtimingꢀ
sensitiveꢀapplications.
F
t
e
h
c
I
s
n
.
t
1
x
E
e
t
c
e
n
u
t
.
s
I
1
1
2
3
4
5
6
M
V
O
A
[
,
2
1
]
H
F
t
e
h
c
I
s
n
.
t
2
E
e
x
c
u
I
s
n
t
.
t
2
e
C
C
:
:
N
L
A
P
L
D
E
A
L
Y
F
t
e
h
c
I
s
n
.
t
3
F
u
l
h
s
P
p
i
i
e
e
n
l
L
[
1
2
]
H
F
t
e
h
c
I
s
n
.
t
6
E
e
x
c
u
I
s
n
t
t
e
.
6
F
t
e
h
c
I
s
n
.
t
7
D
L
E
Y
A
:
P
O
Instruction Fetching
Rev. 1.21
11
April 11, 2017