Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman...

18
1

Transcript of Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman...

Page 1: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

1

Page 2: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

Von Neuman Architecture 8-bit CPU Extensive Boolean processing

(Single-bit logic) capabtilties 64K Program Memory address space 64K Data Memory address space 128 bytes of on-chip Data RAM 32 bi-directional and individually

addressable I/0 lines Two 16-bit timer/counters Full duplex UART 6-source/5-vector interrupt

structure with two priority levels On-chip clock oscillator

2

Page 3: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

3

Page 4: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

4

Memory Structure

Page 5: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

Program memory Data memory

5

ต ำแหนงของ ISR

(Interrupt Service Routine)

MCS-51 ในแบบทม Program memory ภำยใน 4K, 8K และ ไมมเลย

MCS-51 with 128 bytes Internal Data memory

MCS-51 with 256 bytes Internal Data memory

FFFF

0000

64KBYTES

EXTERNAL

60KBYTES

EXTERNAL

4K BYTESINTERNAL

FFFF

0000

0FFF

1000

56KBYTES

EXTERNAL

8K BYTESINTERNAL

FFFF

0000

1FFF

2000

FFFF

0000

64KBYTES

EXTERNAL

SFRsDIRECTADDRESSINGONLY

DIRECT&INDIRECT

ADDRESSING

FF

00

7F80 +

FFFF

0000

64KBYTES

EXTERNAL

SFRsDIRECTADDRESSINGONLYDIRECT&INDIRECTADDRESSING

00

FF

7F80

FF

+

Page 6: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

แบงออกเปน สำมสวนดวยกน คอ Lower 128, Upper 128 และ SFR Lower 128 bytes of internal data memory

6

ACCESSIBLE

BY DIRECT

AND INDIRECT

ADDRESSING

ACCESSIBLE

BY DIRECT

ADDRESSING

SPECIAL

FUNCTION

REGISTERS

ACCESSIBLE

BY INDIRECT

ADDRESSING

ONLY

FFH

80H

FFH

80H7FH

00H

LOWER

128

UPPER

128

PORTS

STATUS AND

CONTROL BITS

TIMER

REGISTERS

STRACK POINTER

ACCUMULATOR

(ECT.)4 BANKS OF

8 REGISTERS

R0-R7

7FH

1FH

2FH

17H

0FH

07H08H

10H

18H

20H

0

BIT-ADDRESSABLE SPACE

(BIT ADDRESSABLE 0-7F

RESET VALUE OF

STACK POINTER

BANK SELECT

BIT IN PSW

00

01

10

11

Upper 128 bytes of internal data memory

Upper 128 น จะมสองสวนทบซอนกนอยใน MCS-51 แบบทม Internal data memory 256 ต ำแหนงเทำนน เชน 80C52, 83C154, 83C154D กำรเขำถงขอมลทอยใน Upper 128 นจะตองท ำโดยใชวธกำรของ Indirect addressing เทำนน

Page 7: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

7

Page 8: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

Accumulater 0E0Hเปนรจสเตอรทใชมำก ค ำสงทจะอำนหรอเกบขอมลจำกภำยนอกจะตองกระท ำผำนรจสเตอรตวนเทำนน

B register 0F0Hใชในกำรคณและกำรหำรเทำนน

PSW (Program Status Word) 0D0H

8

Page 9: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

Program Counter (PC)เปน register 16 bits ทไมมใน memory map เอำไวก ำหนดต ำแหนงของค ำสงทจะอำน (Fetch) ค ำสงตอไป

SP (Stack Pointer) 081Hใชชต ำแหนงหนวยควำมจ ำกอนกำรท ำงำนค ำสง CALL หรอใชเกบขอมลดวยค ำสง PUSHขอมลในรจสเตอรนจะมคำ 07H เมอมกำรรเซท

DPTR (Data Pointer Register) 082H and 083Hมขนำด 16 บต ใชชต ำแหนงในหนวยควำมจ ำ

P0, P1, P2, P3 (PORT 0, 1, 2, 3) 080H, 090H, 0A0H, 0B0Hใชอำนและเขยนขอมลตดตออปกรณภำยนอก เมอเขยน ขอมลจะคำงไว กำรอำนขอมล ตองเขยน 11111111B ไปทพอรทนนๆกอน

9

Page 10: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

SBUF (Serial Data Buffer) 099Hแทจรงแลวมรจสเตอรสองตวทมชอเดยวกน ตวหนงส ำหรบรบขอมล อกตวหนงส ำหรบสงขอมล จงท ำใหสำมำรถท ำงำนแบบ Full Duplex ได

Control Registersไดแก PCON, SCON, TH0, TL0, TH1, TL1, TMOD, TCON, IE และ IP

10

Page 11: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

PCON (Power Control Register) 087H

11

Page 12: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

Power Down Modeใชกระแสนอยกวำ 10 µA หลงจำกค ำสงทท ำให PCON.1=1 แลว Oscillator จะหยดท ำงำน ดงนนจะไมมกำรท ำงำนใดๆรวมทงขอมลในรจสเตอรตำงๆไมปลยนแปลง กำรใชก ำลงจะต ำมำก กำรออกจำก Power down mode มวธเดยวคอกำร Reset แตจะท ำใหขอมลใน SFR เปลยนไป

12

Page 13: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

Idle Modeกำรใชกระแสจะลดลงเหลอ 15 % ไมมสญญำณนำฬกำไป CPU ขอมลในรจสเตอรตำงๆไมเปลยนแปลง กำรออกจำก Idle mode มสองวธคอ1. โดยกำร Reset : กำรท ำงำนจะท ำงำนในค ำสงทตอจำกค ำสงทท ำให PCON.0=1 ไปอก 2-3 ค ำสง กอนเขำสกำร Reset

ดงนนจงตองระวงวำค ำสงเหลำนนอำจท ำใหกำรควำมผดพลำดในกำรปฏบตงำนได2. โดยกำร Interrupt: กำรท ำงำนจะกระโดดไปท ำงำนยงต ำแหนงของ Interrupt routine เมอออกจำก Interrupt

routine นนๆกจะท ำงำนในค ำสงทตอจำกค ำสง ทท ำให PCON.0=1 ดงนนอำจใชบต GF0 หรอ GF1 ชวยแสดงวำระบบเปน Idle mode กอนเขำส Interrupt routine

13

Page 14: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

กำร reset จะเกดขนเมอม logic 1 เกดขนทขำ RST และกำร reset อยำงสมบรณจะเกดขนหลงจำกนน 1-2 machine cycles คำของหนวยควำมจ ำใน RAM จะไมไดรบผลกระทบอะไร ดงนนจงควรมกำรเคลยรคำของ RAM ในตอนตนโปรแกรมเพอปองกนกำรน ำขอมลกอนกำร reset มำประมวลผล

14

Page 15: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

พอรตของ MCS-51 สำมำรถเปนไดทงอนพตและเอำตพต และทพอรตจะมตวตำนทำนพลอพไวภำยใน ยกเวนทพอรต0 แตละพอรตสำมำรถจำยกระแส หรอทเรยกวำ กระแสซอรซ(Source Current) ไดสงสดประมำณ 20 mA และทกขำของพอรตรวมกนจะสำมำรถจำยกระแสรวมกนไดไมเกนประมำณ 80 mAดงนนเพอไมใหเกดปญหำจงควรตอวงจรบฟเฟอรทำงเอำตพตเพอชวยในกำรขบกระแส เชน IC 74HCT245

15

Page 16: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

การใชงานเปนพอรตอนพตพอรตสำมำรถรบกำรเปลยนแปลงระดบลอจกจำกระดบสงสระดบต ำเทำนน ดงนนจะตองเรมตนดวยกำรเขยนขอมลใหกบพอรตหรอบตนนๆใหเปนลอจก “1” กอน เพอหยดกำรท ำงำนของเฟต (FET) และท ำใหขำสญญำณของพอรตเชอมตอเขำกบวงจรพลอพภำยในโดยตรง สงผลใหขำพอรตนนมลอจกเปน “1” และสำมำรถทจะรบสญญำณจำกลอจก “0”จำกอปกรณภำยนอกได

การใชงานเปนพอรตเอาตพตกำรใชงำนเปนพอรตเอำตพตสำมำรถสงขอมลออกไปไดเลย เชน ถำตองกำรสงขอมลทเปนลอจก “0” ไปยงวงจรแลตชซงจะสงตอไปขบเฟต ท ำใหเฟตท ำงำนและทขำพอรตก ำหนดใหท ำงำนกจะเกดลอจก “0” ขน ในท ำนองเดยวกน ถำตองกำรสงขอมลทเปนลอจก “1” ออกไปกสำมำรถทเขยนขอมล “1” ไปยงวงจรแลตช วงจรขบกจะหยดกำรท ำงำนเปนผลใหทขำของพอรตเชอมตอกบวงจรพลอพภำยในเกดเปนลอจก “1”ทขำพอรตนน

16

Page 17: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

ส ำหรบ MCS-51 Machine cycle จะประกอบดวยกำรท ำงำน 6 States (S1 –S6) ซงในแตละ State ของกำรท ำงำน จะใชเวลำ 2 Clocks ดงนน 1 Machine cycle จะใชเวลำ 12 clocks แตละ Machine cycle จะมกำร Fetch รหสค ำสง 2 ครง ถงแมวำค ำสงนนๆ จะเปนค ำสงแบบ 1 Byte กตำม

17

Page 18: Von Neuman Architecture - Naresuan University › ponpisut › Lec_03.pdf · Von Neuman Architecture 8-bit CPU Extensive Boolean processing (Single-bit logic) capabtilties 64K Program

18

MCS-51

P0P1

P3 P2

ALE

EA

INTERNAL

ROMLATCH

OE

RAM

DATA

ADDR

WR

VCC

WR

PAGE

BITES

I/ORD

0000H

เมอ Fetch Op-code จาก External Program Memory

เมอ MCS-51 อานขอมลจาก External Data Memory เมอ MCS-51 เขยนขอมลเขา External Data Memory