You are on page 1of 10

C o m m o d o r e Sem iconductor G roup

C f q division of Com m odore Business Machines, Inc.


950 Rirrenhouse Rood Norrisrown. PA 19400 • 215/666-7950 • TWX 510-660-4168

6510 MICROPROCESSOR WITH I/O


HMOS
6510 MICROPROCESSOR WITH I/O
DESCRIPTION
The 6510 is a low -cost m icroprocessor ca p a b le of solving a broad range of sm all-system s and peripheral-control
problem s at m inim um co st to the user.

An 8-bit B i-D irectional I/O Port is located o n -c h ip with the O utput Register at A ddress 0001 and the D ata-D irection
R egister at A ddress 0000. The I/O Port is bit-by-bit program m able.

TheThree-State sixteen-bit A ddress Bus allow s D irect M em ory A cce ssin g (DMA) and m ulti-processor systems sharing
a common memory.
The internal proce sso r architecture is identical to the C o m m odore S e m ico n du cto r G roup 6502 to provide software
compatibility.

FEATURES OF THE 6510 . . .


• 8-B it B i-D irectional I/O Port • Interrupt ca p a b ility
• S ingle + 5 volt sup p ly • 8 Bit B i-D irectional Data Bus
• HMOS, silicon gate, de p letio n load te c h n o lo g y • A d d re ssa b le m em ory range of up to 6 5 K bytes
• E ight bit parallel p rocessing • D irect m em ory a cce ss ca pability
• 56 Instructions • Bus co m p a tib le with M 6800
• D ecim al and binary arithm etic • P ipeline architecture
• Thirteen addressing m odes • 1 MHz, 2 M H z and 3 M H z operation
• True indexing capability • Use with any type o r speed m em ory
• Program m able stack pointer • 4 M H z operation availability expected in 1986.
• Variable length stack

PIN CONFIGURATIONS
0 , IN 1 40 RES RES 1 40 0 2 IN RES 1 40 0 2 OUT
RDY 2 39 0 2 OUT 0 , IN 2 39 r /w 0 2 IN 2 39 R/W
IRO 3 38 R/W Tr o 3 38 db0 Tr q 3 38 D B0
nm T 4 37 D B0 AEC 4 37 DB, AEC 4 37 DB,
AEC 5 36 DB, 5 36 db2 5 36 db2
VCC VCC
6 35 db2 Ao 6 35 db3 6 35 db3
VCC Ao
7 34 db3 7 34 db4
A, 7 34 db4
Ao A,
8 33 db4 8 33 db5 a2 8 33 db5
A1 A2

a2 9 32 db5 9 32 db6 9 32 db6


A3 a3

A3 10 6510 31 db6 A4 10 6510-1 31 ob7 a4 10 6510-2 31 db 7


a4 11 30 db 7 A5 11 30 Pq 11 30 Pq
A5
12 29 12 29 p, 12 29
a5 po A6 A6 P,
A6 13 28 p, A7 13 28 p2 A7 13 28 P2
14 27 A8 14 27 P3 14 27
A7 p2 A8 P3
15 26 15 26 P4 15 26
A8 p3 A9 Ag P4
16 25 A 10 16 25 P5 16 25
A9 P4 A 10 P5
17 24 A 11 17 24 p6 - 17 24
A 10 p5 Ai 1 P6
A t1 18 23 A 15 A, 2 18 23 P7 Ai2 18 23 P7

A 12 19 22 A, d A 13 19 22 A 15 A i3 19 22 A, 5
20 21 A] 4 21
A 13 20 21
v ss Vss Vss 20 A 14
P7
BUFFER
ADDRESS
THREE-STATE

6510-1

6510 BLOCK DIAGRAM

2
6510 CHARACTERISTICS

MAXIMUM RATINGS

RATING SYMBOL VALUE UNIT


This device contains input protection against
SUPPLY VOLTAGE -0 .3 to + 7.0 Vdc

<
o
o
damage due to high static voltages or
INPUT VOLTAGE Vin electric fields; however, precautions should
—0.3 to + 7.0 Vdc
be taken to avoid application ot voltages
higher than the maximum rating.
OPERATING TEMPERATURE Ta 0 to + 70 C

STORAGE TEMPERATURE t STG —55 to + 150 C

ELECTRICAL CHARACTERISTICS (Vcc = 5.0V ± 5%, Vss = 0, Ta = 0 to + 70 C)

CHARACTERISTIC SYMBOL MIN. TYP. MAX. UNIT

Input High Voltage


VIH - Vcc + 1,0V Vdc
0 ,. 0 2('n) — 651 0-1 VCC- °-2
0 . (in) — 6510. 6510-2 2.4- Vdc
RES. P0-P7 IRQ, Data 2.0 Vdc

Input Low Voltage


0 , (in) — 651 0. 6510-2 — 0.4 Vdc
V!L 0.2
0 ., 0?(in) — 651 0-1 — Vdc
RES, Po-P? IRQ. Data 0.8 Vdc

Input Leakage Current


(Vjn = 0 to 5.25V, Vcc = 5.25V)
Logic lin — — 2.5 /jA
0 ' 02(in) 100 pA

Three State (Off State) Input Current


(Vjn=0.4 to 2.4V, Vcc = 5.25V)
DB0-D B 7, A0-A!5, R/W ITS I . _ 10 pA

Output High Voltage


(Iq h = - 1 00/jAdc. Vcc = 4,75V)
Data. A0-A1 5, R/W. Pj-P; VOH 2.4 _ _ Vdc

Out Low Voltage


UOL = 1.6mAdc. Vcc = 4.75V)
Data. A0-A15, R/W. P;-P7 VOL 0.5 Vdc

Power Supply Current ICC - — 130 mA

Capacitance C PF
Vjn = 0. Ta = 25 C, f = 1 MHz)
Logic, Pj-P7 Cm 10

Data — — 15
A0-A1 5, R/W Cout 12

0- C<2, 30 50
C 0t — 50 80

3
6 5 10,6 510-2 6510-1
Internal Clock Format Two Phase Clock Input Format

TIMING FOR READING DATA FROM


MEMORY OR PERIPHERALS

4
6 5 10 ,6 51 0-2 6510-1
Internal Clock Format Two Phase Clock Input Format

TIM ING FOR WRITING DATA TO


MEMORY OR PERIPHERALS

5
AC CHARAC TERISTICS

1 MHz TIMING 2 MHz TIMING 3 MHz TIMING

ELECTRICAL CHARACTERISTICS (VCC = 5V ± 5%. VSS = OV. TA = 0 - 7 0 C)


Minimum Clock Frequency = 50 KHz
CLOCK TIMING
CHARACTERISTIC SYM BO L M IN . TYP. MAX. M IN . TYP. MAX. M IN . TYP. MAX. UNITS

Cycle Time tcyc 1000 - - 500 - - 333 — - ns

Clock Pulse Width 01 IN PWH01 430 - - 215 - 150 - - ns


(Measured at VCC-0.2V)0 2 IN PWH02 470 235 _ 160 ns

Fall Time. Rise Time 01 IN, 0 2 IN


(Measured from 0.2V to VCC-0.2V) Tf .T r — _ 10 — _ 10 _ _ 10 ns

Delay Time between Clocks


(Measured at 02V] 6510-1 0 _ — 0 — — 0 — — ns
Td

01 in Pulse Width
(Measured at 1.5V) PW01 460 - 520 240 - 260 170 - 180 ns

0 2 OUT Pulse Width*


(Measured at 1,5V) PW02 420 - 510 200 - 250 130 - 170 ns

0 2 OUT Rise, Fall Time


(Measured 0.4V to 2.0V)* Tr , t f _ _ 25 _ _ 25 _ . 25 ns

READING/WRITE TIM IN G (LOAD=1 TTL)


CH A R AC TER ISTIC SYM B O L M IN . TYP. MAX. M IN . TYP. MAX. M IN . TYP. MAX. U N ITS

Read/Write Setup Time from 6510 TRWS - 100 300 - 100 150 - 100 110 ns

Address Setup Time from 651 0 t ADS - 100 300 - 100 150 - 100 125 ■ ns

M emory Read A ccess Time ta c c - - 575 - - 300 - - 170 ns

Data Stability Time Period t dsu 100 - - 60 - - 40 - ns

Data Hold Time-Read thr 10 - - 10 - - 10 - - ns

Data Hold Time-Write Th w 10 30 - 10 30 - 10 30 - ns

Data Setup Time from 6510 tmds - 150 200 - 75 100 - 75 90 ns

A ddress Hold Time tha 10 30 - 10 30 - 10 30 - ns

R/W Hold Time t hrw 10 30 - 10 30 - 10 30 - ns

Delay Time. 0 2 negative transition


to Peripheral Data vaiid tpdw
— —
300 — 150 _ . 125 ns

Peripheral Data Setup Time tpdsu 300 - - 150 - - 100 - - ns


-
Address Enable Setup Time ta e s - - 75 - - 75 - - 75 ns

Data Enable Setup Time t des - - 120 - - 120 - - 120 ns

Address D isable Hold Time* ta e d - - 120 - - 120 - - 120 ns

Data Disable Hold Time* tded - - 130 - - 130 - - 130 ns

Peripheral Data Hold Time tpdh 30 — — 20 - - 10 - - ns.

'N o te — 1 TTL Load, C L= 30 pF

6
SIGNAL DESCRIPTION

Clocks (0 1( 0 2) Address Enable Control (AEC)


The 6510 requires either a two phase non-overlapping
clo ck that runs at the Vcc voltage level, or an external The Address Bus, R/W, and Data Bus are valid only
control for the internal clo ck generator. when the Address Enable Control line is high. When low,
the Address Bus, R/W and Data Bus are in a high-
Address Bus (A0-A15) im pedance state. This feature allows easy DMA and
The three state outputs are TTL com patible, capable of m ultiprocessor systems.
driving one standard TTL load and 130 pf.
I/O Port (P0-P7)
Data Bus (D0-D7) Eight pins are used for the peripheral port, which can
Eight pins are used for the data bus. This is a Bi- transfer data to or from peripheral devices. The Output
Directional bus, transferring data to and from the device Register is located in RAM at Address 0001, and the Data
and peripherals. The outputs are tri-state buffers capable of D irection Register is at Address 0000. The outputs are
driving one standard TTL load and 130 pf. capable at driving one standard TTL load and 130 pf.

Reset Read/Write (R/W)


This input is used to reset or start the m icroprocessor This signal is generated by the m icroprocessor to
from a power down condition. During the time that this line control the direction of data transfers on the Data Bus. This
is held low, writing to or from the m icroprocessor is line is high except when the m icroprocessor is writing to
inhibited. When a positive edge is detected on the input, memory or a peripheral device.
the m icroprocessor will im m ediately begin the reset
sequence.
After a system initialization time of six clo c k cycles, the
mask interrupt flag will be set and the m icroprocessor will
load the program counter from the mem ory vector
locations FFFC and FFFD. This is the start location for
program control.
After V cc reaches 4.75 volts in a pow er up routine, reset
must be held low for at least two clock cycles. At this time
the R/W signal will becom e valid.
When the reset signal goes high follow ing these two
clock cycles, the m icroprocessor will proceed with the
normal reset procedure detailed above.

Interrupt Request (IRQ)


This TTL level input requests that an interrupt sequence
begin w ithin the microprocessor. The m icorprocessor will
com plete the current instruction being executed before
recognizing the request. At that time, the interrupt mask bit
in the Status C ode Register will be examined. If the
interrupt m ask flag is not set, the m icroprocessor will begin
an interrupt sequence. The Program C ounter and
Processor Status Register are stored in the stack. The
m icroprocessor will then set the interrupt mask flag high
so that no further interrupts may occur. At the end of this
cycle, the program counter low will be loaded from
address FFFE, and program counter high from location
FFFF. therefore transferring program control to the memory
vector located at these addresses.
ADDRESSING MODES
ACCUMULATOR ADDRESSING — This form of addressing is IM PLIED ADDRESSING — In the implied addressing mode, the
represented with a one byte instruction, implying an operation on address containing the operand is implicitly stated in the
the accumulator. operation code of the instruction.
IM M ED IA TE ADDRESSING — In immediate addressing, the RELATIVE ADDRESSING — Relative addressing is used only
operand is contained in the second byte of the instruction, with no with branch instructions and establishes a destination for the
further memory addressing required. conditional branch.
ABSOLUTE ADDRESSING — In absolute addressing, the The second byte of-the instruction becomes the operand which is
second byte of the instruction specifies the eight low order bits of an “Offset" added to the contents of the lower eight bits of the
the effective address while the third byte specifies the eight high program counter when the counter is set at the next instruction.
order bits. Thus, the absolute addressing mode allows access to The range of the offset is — 128 to + 127 bytes from the next
the entire 65 K bytes of addressable memory. instruction.

ZERO PAGE ADDRESSING — The zero page instructions allow INDEXED IN D IR E C T AD DRESSING - In indexed indirect
for shorter code and execution times by only fetching the second addressing (referred to as [Indirect, X]), the second byte of the
byte of the instruction and assuming a zero high address byte. instruction is added to the contents of the.X index register,
Careful use of the zero page can result in significant increase in discarding the carry. The result of this addition points to a memory
code efficiency. location on page zero whose contents is the low order eight bits
of the effective address. The next memory location in page zero
INDEXED ZERO PAGE ADDRESSING - (X, Y indexing) — This contains the high order eight bits of the effective address. Both
form of addressing is used in coniunction with the index register memory locations specifying the high and low order bytes of the
and is referred to as “Zero Page, X" or "Zero Page, Y.” The effective address must be in page zero.
effective address is calculated by adding the second byte to the
contents of the index register. Since this is a form of "Zero Page" INDIREC T IND EXED ADDRESSING — In indirect indexed
addressing, the content of the second byte references a location addressing (referred to as (Indirect, Y]), the second byte of the
in page zero. Additionally, due to the “Zero Page" addressing instruction points to a memory location in page zero. The contents
nature of this mode, no carry is added to the high order 8 bits of of this memory location is added to the contents of the Y index
memory and crossing of page boundaries does not occur. register, the result being the low order eight bits of the effective
address. The carry from this addition is added to the contents of
INDEX ABSOLUTE ADDRESSING — (X, Y indexing) — This form the next page zero memory location, the result being the high
of addressing is used in coniunction with X and Y index register order eight bits of the effective address.
and is referred to as "Absolute. X," and “Absolute. Y." The effective
address is formed by adding the contents of X and Y to the ABSOLUTE IN D IR E C T — The second byte of the instruction
address contained in the second and third bytes of the instruction. contains the low order eight bits of a memory location. The high
This mode allows the index register to contain the index or count order eight bits of that memory location is contained in the third
value and the instruction to contain the base address. This type of byte of the instruction. The contents of the fully specified memory
indexing allows any location referencing and the index to modify location is the low order byte of the effective address. The next
multiple fields resulting in reduced coding and execution time. memory location contains the high order byte of the effective
address which is loaded into the sixteen bits of the program
counter.

INSTRUCTION SET - ALPHABETIC SEQUENCE


ADS Add Memory to Accum ulator with Carry LDA Load Accum ulator with Memory
AND “AND" Memory with Accumulator LDX Load Index X with Memory
ASL Shift left One Bit (Memory or Accumulator) LDY Load Index Y with Memory
LSR Shift One Bit Right (Memory or Accumulator)
BCC Branch on Carry Clear
BCS Branch on Carry Set NOP N o Operation
BEQ Branch on Result Zero
ORA "OR" Memory with Accum ulator
BIT Test Bits in Memory with Accumulator
BMI Branch on Result Minus PHA Push Accum ulator on Stack
BNE Branch on Result not Zero PHP Push Processor Status on Stack
BPL Branch on Result Plus PLA Pull Accum ulator from Stack
8RK Force Break PLP Pull Processor Status from Stack
BVC Branch on Overflow Clear
ROL Rotate One Bit Lett (Memory or Accumulator)
BVS Branch on Overflow Set
ROR Rotate One Bit Right (Memory or Accumulator)
CLC Clear Carry Flag RTI Return from Interrupt
CLD Clear Decimal Mode RTS Return from Subroutine
CLI Clear Interrupt Disable Bit
SBC Subtract Memory from Accum ulator with Borrow
CLV Clear Overflow Flag
SEC Set Carry Flag
CMP Compare Memory and Accumulator
SED Set Decimal Mode
CPX Compare Memory and Index X
SEI Set Interrupt Disable Status
CPY Compare Memory and Index Y
STA Store Accum ulator in Memory
DEC Decrement Memory by One STX Store Index X in Memory
DEX Decrement Index X by One STY Store Index Y in Memory
DEY Decrement Index Y by One
TAX Transfer Accum ulator to Index X
EOR Exclusive or' Memory with Accumulator TAY Transfer Accum ulator to Index Y
TSX Transfer Stack Pointer to Index X
INC Increment Memory by One
TXA Transfer index X to Accum ulator
INX Increment Index X by One
TXS Transfer Index X to Stack Register
INY Increment Index Y by One TYA Transfer Index Y to Accumulator
JMP Jum p to New Location
JSR Jum p to New Location Saving Return Address
PROGRAMMING MODEL

PROCESSOR STATUS REG P


ACCUM ULATO R A

CARRY 1 = TRUE
IN D E X REGISTER Y
ZERO 1 = RESULT ZERO
IRO DISABLE 1 = DISABLE
IN D E X REGISTER X DECIM AL MODE 1 = TRUE
BRK C O M M A N D
PROGRAM CO UNTER PC
OVERFLOW ' I = TRUE

STACK POINTER NEGATIVE 1 = NEG

INSTRUCTION SET—OP CODES, Execution Time, Memory Requirements

INSTRUCTIONS MEDIATE ABSOLUTE ZERO PACE ACCUM •IPUED 1*0 X| IINOI r j 2. PAGE X US. 1 ABS. Y RELATIVE IHDIRECT Z. CASE. T CONOmON CODES
MNEMONIC OPERATION OP N OP N ■ CP N « CP N s OP N = OP s b p \ = CP N a OP « OP N s OP N * OP */ ■ OP N = N Z C i 0 v
- - .3 69 2 2 6D 4 3 65 3 6' 6 7! 5 2 •5 2 7C 4 3 79 3
- ■ \t -* A 29 2 4 3 25 3 ?• A 31 2 3D ■i 3 39 :
* -
- S C — | 7 O b - 2 OE 6 3 06 5 CA 2 •6 •5 ■E 3 > > > - - -
*
E C C 3 RANCH ON C 0 2. 00
3 C 5 BRANCH C N C - : 2 B0 2 7
e e ': - - • - ‘ ;CH Z'iZ ■1 F3 2
3 i A • V 2C 4 3 24 3 7. W-. ► - - -
3 BRANCH ON N - T 2 2
3 N £ 3 RANCH CN Z • 0 2 r.fl 2 2
5 P B P A f. O ON N 3 2 ■a
S = .V-
E V C BRANCH O f. V - 0 2: a 2 2
B V S BRANCH 2N V - 2

0 -> C ’S 2 - - 0 - - -

f:H - - - - 3 -

=C _ _ _ 0 _ _
0 . oS 0
c v 0 A - V 03 CO 4 3 C5 3 C 6 O' 5 2 Dr 2 DO 4 3 09 < 3
<
;; ? i ». ‘.1 cO 2 EC J 3 E4 3
C z C3 2 2 CC 4 3 04 ■3 2
CE 5 3 CO 0 06 6 2 CE ;
0 s CA : * v -----------------
D E 38
£ C a A • M —» A *19 2 2 40 3 45 3 2 4' p 2 51 5 2 55 2 50 4 3 59 4 j
! N C M - - -* M EE 6 3 E6 6 fn 5 FE 3

t3
: m v • - i -> Y ca * ‘ ------------
j •„» P JUVP ” NJT.V lOC JC 3 3 6C 5 3
5 P jur.*p 303 20 6 3
V -> 5 AO 2 /■i: 4 1 y~ At n 2 G* 5 55 2 SC 3 =3 j

9
FFFF

ADDRESSABLE
EXTERNAL
MEMORY

STACK
0200 POINTER
01 FF
01 FF
INITIALIZED
STACK

Page '

0100
00FF

Page 0

0001 Used For


OUTPUT REGISTER Internal
0000 I/O Port
DATA DIRECTJ0N REGISTER
0000

6510 MEMORY MAP

APPLICATIONS NOTES

L o c a tin g th e O u tp u t R e g is te r a t th e in te rn a l I/O P ort in P a g e Z e ro e n h a n c e s th e p o w e rfu l Z e ro P a g e


A d d re s s in g in s tru c tio n s o f th e 6 5 1 0 .

B y a s s ig n in g th e I/O P in s as in p u ts (u s in g th e D a ta D ire c tio n R e g iste r) th e u s e r h a s th e a b ility to c h a n g e


th e c o n te n ts o f a d d re s s 0001 (th e O u tp u t R e g iste r) u s in g p e rip h e ra l d e v ic e s . T h e a b ility to c h a n g e th e s e
c o n te n ts u s in g p e rip h e ra l in p u ts , to g e th e r w ith Z e ro P a g e In d ire c t A d d re s s in g in s tru c tio n s , a llo w s n o v e l a n d
ve rsa tile p ro g ra m m in g te c h n iq u e s n o t p o s s ib le earlier.

C O M M ODORE SEM IC O N DU CTO R GROUP reserves the right to m ake changes to any products herein
to improve reliability, function or design, C O M M O D O R E SEM IC O N DU CTO R GROUP does not assume
any liability arising out of the application or use of any product or circuit d escribed herein; neither does
it convey any license under its patent rights nor the rights of others.

10

You might also like