Datasheet
1999-2013 Microchip Technology Inc. Preliminary DS41124D-page 9
PIC16C745/765
3.0 ARCHITECTURAL OVERVIEW
The high performance of the PIC16C745/765 family
can be attributed to a number of architectural features
commonly found in RISC microprocessors. To begin
with, the PIC16C745/765 uses a Harvard architecture,
in which program and data are accessed from separate
memories using separate buses. This improves band-
width over traditional von Neumann architecture in
which program and data are fetched from the same
memory using the same bus. Separating program and
data buses further allows instructions to be sized differ-
ently than the 8-bit wide data word. Instruction opcodes
are 14-bits wide making it possible to have all single
word instructions. A 14-bit wide program memory
access bus fetches a 14-bit instruction in a single cycle.
A two-stage pipeline overlaps fetch and execution of
instructions (Example 3-1). Consequently, most
instructions execute in a single cycle (166.6667 ns @
24 MHz) except for program branches.
The PIC16C745/765 can directly or indirectly address
its register files or data memory. All special function
registers, including the program counter, are mapped in
the data memory. The PIC16C745/765 has an orthog-
onal (symmetrical) instruction set that makes it possible
to carry out any operation on any register using any
addressing mode. This symmetrical nature and lack of
‘special optimal situations’ make programming with the
PIC16C745/765 simple yet efficient. In addition, the
learning curve is reduced significantly.
PIC16C745/765 devices contain an 8-bit ALU and
working register. The ALU is a general purpose arith-
metic unit. It performs arithmetic and Boolean functions
between the data in the working register and any regis-
ter file.
The ALU is 8-bits wide and capable of addition, sub-
traction, shift and logical operations. Unless otherwise
mentioned, arithmetic operations are two's comple-
ment in nature. In two-operand instructions, typically
one operand is the working register (W register). The
other operand is a file register or an immediate con-
stant. In single operand instructions, the operand is
either the W register or a file register.
The W register is an 8-bit working register used for ALU
operations. It is not an addressable register.
Depending on the instruction executed, the ALU may
affect the values of the Carry (C), Digit Carry (DC), and
Zero (Z) bits in the STATUS register. The C and DC bits
operate as a borrow
bit and a digit borrow out bit,
respectively, in subtraction. See the SUBLW and SUBWF
instructions for examples.
Device
Memory
Pins
A/D
Resolution
A/D
Channels
Program
x14
Data
x8
PIC16C745 8K 256 28 8 5
PIC16C765 8K 256 40 8 8