Top Banner
1 6장 장장장장장장장장 장장장 장 장장장장장 장장장장장
25

6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

Jan 15, 2016

Download

Documents

daxia

6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스. 학습개요. 이번 시간에는 ... “ Microprocessor 메모리 및 입출력장치 인터페이스 ” 에 대해 알아보겠습니다. 학 습 목 표. 이장에서는 마이크로프로세서 메모리 맵에 대해 공부하고 . 메모리와 입출력 장치를 설계하는 방법을 익힌다. 학 습 목 차. ROM, RAM 영역설계 Decoder 를 이용한 Memory 영역설계 Gate 를 이용한 Memory 영역설계 8085 microprocessor - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

1

6 장

마이크로프로세서 메모리 및 입출력장치 인터페이스

Page 2: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

2

이장에서는 마이크로프로세서 메모리 맵에 대해 공부하고 .

메모리와 입출력 장치를 설계하는 방법을 익힌다 .

이번 시간에는 ...

“Microprocessor 메모리 및 입출력장치 인터페이스” 에 대해 알아보겠습니다 .

학습개요학습개요

학 습 목 표학 습 목 표

• ROM, RAM 영역설계• Decoder 를 이용한 Memory 영역설계• Gate 를 이용한 Memory 영역설계• 8085 microprocessor

• Input Output Device interface

학 습 목 차학 습 목 차

Page 3: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

3

ROM, RAM 영역설계

메모리 인터페이스 설계

(1) Memory 영역 분석 (2) Memory device 결정 (3) Memory Map 구성 (4) Address table 구성 (5) 회로설계

ex1) EPROM 2716 을 4000H - 47FFH 번지에 설계하여라

(1) Address 영역 4000-47FF

(2) EPROM 2716 address( A0 - A10)

(3) Memory map

1) 설계 순서

ROM 영역

FFFFH

47FFH

4000H

0000H

Page 4: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

4

ROM, RAM 영역설계

메모리 인터페이스 설계

(4) Address table

(5) 회로설계U?

Z80-CPU

303132333435363738394012345

1415128791013

27

19202221

28

18

24

1617

26

2523

6

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7

M1

MREQIORQWRRD

REFSH

HALT

WAIT

INTNMI

RESET

BUSRQBUSAK

CLK

U?

2716

87654321

232219

182021

910111314151617

A0A1A2A3A4A5A6A7A8A9A10

CEOEVPP

O0O1O2O3O4O5O6O7

U1A

1 2

3 4

5 6

7404

9 8

U?A

7432

1

23

U?

74AHCT30

1234

56

1112

8

A0-A10

D0-D7

D0D1D2D3D4D5D6D7

A15

A14

A13

A12

A11

A10

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 영 역

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000H ROM47FFH0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1

Chip select ROM address 고유 영역 (A0-A10)

Page 5: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

5

ex2) EPROM 2716(2Kbyte) 을 이용하여 0000H - 0FFFH 번지에 설계하여라

(1) Address 영역 0000-0FFF(2) EPROM 2716 address( A0 - A10) 2Kbyte 메모리(3) Memory map

(4) Address table

FFFFH

0FFFH

0800H

07FFH

0000H

ROM 2 영역

ROM 1 영역

ROM, RAM 영역설계

메모리 인터페이스 설계

A15

A14

A13

A12

A11

A10

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 영 역

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H ROM_107FFH0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0800H ROM_20FFFH

0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1

Chip select ROM address 고유 영역 (A0-A10)

Page 6: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

6

(5) 회로설계U?

Z80-CPU

303132333435363738394012345

1415128791013

27

19202221

28

18

24

1617

26

2523

6

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7

M1

MREQIORQWRRD

REFSH

HALT

WAIT

INTNMI

RESET

BUSRQBUSAK

CLK

U?

2716

87654321

232219

182021

910111314151617

A0A1A2A3A4A5A6A7A8A9A10

CEOEVPP

O0O1O2O3O4O5O6O7

U1A

1 2

U?

2716

87654321

232219

182021

910111314151617

A0A1A2A3A4A5A6A7A8A9A10

CEOEVPP

O0O1O2O3O4O5O6O7

U?

74AHCT30

1234

56

1112

8U?A

7432

1

23

U?A

7432

1

23

U?A

7432

1

23

D1

D5

A0-A10

D7

D0

D0-D7

D4

D2

D6

D3

ROM, RAM 영역설계

메모리 인터페이스 설계

Page 7: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

7

ex3) SRAM MC6116 을 2000H – 0FFFH 번지에 설계하여라

(1) Address 영역 2000H – 0FFFH(2) SRAM MC6116 address( A0 – A10)(3) Memory map

ROM, RAM 영역설계

메모리 인터페이스 설계

FFFFH

2FFFH

2800H

27FFH

2000H

0000H

RAM 2 영역

RAM 1 영역

(4) Address table

A15

A14

A13

A12

A11

A10

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 영 역

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000H RAM_127FFH0 0 1 0 0 1 1 1 1 1 1 1 1 1 1

0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 2800H RAM_22FFFH

0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1

Chip select RAM address 고유 영역 (A0-A10)

Page 8: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

8

(5) 회로설계

RAM1(6116)

Address bus(A0 – A10 )

/RD/WR

A0 – A10

D0 - D7

/OE

CE’

0

0

1

0

0

A0 – A10

D0 - D7

CE’

2000H 2800H

Data bus (D0- D7)

A15

A14

A13

A12

A11

D0 - D7

/MREQ/IORQ

A0-A10

Z80 CPU

/WE/OE/WE RAM1

(6116)

ROM, RAM 영역설계

메모리 인터페이스 설계

Page 9: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

9

ex4) 아래 Memory map 에 의해 ROM 과 RAM 을 설계하시오

(4) Address table

FFFFH

27FFH

2000H

07FFH

0000H

RAM

ROM

ROM, RAM 영역설계

메모리 인터페이스 설계

A15

A14

A13

A12

A11

A10

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 영 역

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H ROM07FFH0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000H RAM27FFH0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1

Chip select Memory address 고유 영역 (A0-A10)

(1) Address 영역 ROM : 0000H – 07FFH RAM : 2000H- 27FFH(2) ROM 2716 SRAM MC6116 address( A0 – A10)(3) Memory map

Page 10: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

10

(5) 회로설계

0

0

0

0

0

0000H 2000H

A15A14A13A12A11

D0 - D7

0

0

1

0

0

A15

A14

A13

A12

A11

ROM(2716)

Address bus(A0 – A10 )

/RD/WR

A0 – A10

D0 - D7

/OE

CE’

A0 – A10

D0 - D7

CE’

Data bus (D0- D7)D0 - D7

/MREQ/IORQ

A0-A10

Z80 CPU/OE/WE RAM

(6116)

ROM, RAM 영역설계

메모리 인터페이스 설계

Page 11: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

11

74138 3*8 Decoder

A D0

B D1

C D2

D3

D4

G1 D5

G2 D6

G3 D7

U?

74LS138

123

645

15141312111097

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

Decoder 를 이용한 Memory 영역설계 Decoder

A B CD0

D1

D2

D3

D4

D5

D6

D7

0 0 0 0 1 1 1 1 1 1 1

0 0 1 1 0 1 1 1 1 1 1

0 1 0 1 1 0 1 1 1 1 1

0 1 1 1 1 1 0 1 1 1 1

1 0 0 1 1 1 1 0 1 1 1

1 0 1 1 1 1 1 1 0 1 1

1 1 0 1 1 1 1 1 1 0 1

1 1 1 1 1 1 1 1 1 1 0

74138 3*8 Decoder truth table

G1=1,G2=0,G3=0 일때 74138이Active 가 된다

Page 12: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

12

+5V

A13A12A11

A15A14

¿µ¿ª1¿µ¿ª2¿µ¿ª3¿µ¿ª4¿µ¿ª5¿µ¿ª6¿µ¿ª7¿µ¿ª8

U?

74LS138

123

645

15141312111097

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

0000 - 07FF0800 - 0FFF1000 - 17FF1800 - 1FFF2000 - 27FF2800 - 2FFF3000 - 37FF3800 - 3FFF

Map 영역 분할

Decoder 를 이용한 Memory 영역설계 Decoder 를 이용한 Map 설정

Address table

A15

A14

A13

A12

A11

A10

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 영 역

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 07FFH0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0800H0FFFH0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1

74138 Decoder 입력Chip En

Memory address 고유 영역 (A0-A10)

Page 13: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

13

ex) 아래 Memory map 에 의해 ROM 을 설계하시오

Decoder 를 이용한 Memory 영역설계 Decoder 를 이용한 Map 설정 FFFFH

17FFH

1000H

0FFFH

0800H

07FFH

0000H

ROM_3

ROM_2

ROM_1

Address table

A15

A14

A13

A12

A11

A10

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 영 역

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 07FFH0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0800H0FFFH0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1000H17FFH0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1

74138 Decoder 입력Chip En

Memory address 고유 영역 (A0-A10)

(1) Address 영역 ROM : 0000H – 07FFH ROM : 0800H – 0FFFH ROM : 1000H – 17FFH(2) ROM 2716 address( A0 – A10)(3) Memory map

Page 14: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

14

+5V

U?

Z80-CPU

303132333435363738394012345

1415128791013

27

19202221

28

18

24

1617

26

2523

6

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7

M1

MREQIORQWRRD

REFSH

HALT

WAIT

INTNMI

RESET

BUSRQBUSAK

CLK

U?

2716

87654321

232219

182021

910111314151617

A0A1A2A3A4A5A6A7A8A9A10

CEOEVPP

O0O1O2O3O4O5O6O7

U?

2716

87654321

232219

182021

910111314151617

A0A1A2A3A4A5A6A7A8A9A10

CEOEVPP

O0O1O2O3O4O5O6O7

U?

2716

87654321

232219

182021

910111314151617

A0A1A2A3A4A5A6A7A8A9A10

CEOEVPP

O0O1O2O3O4O5O6O7

U?

74LS138

123

645

15141312111097

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

U?A

7432

1

23

U?A

7432

1

23

U?A

7432

1

23

A0-A10

Decoder 를 이용한 Memory 영역설계 Decoder 를 이용한 Map 설정

(5) 회로설계

Page 15: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

FFFFH

8000H

7FFFH

0000H

15

Decoder 를 이용한 Memory 영역설계 Map 설정

ex) 아래 Memory map 에 의해 ROM 을 설계하시오

RAM

ROM

(1) Address 영역 ROM : 0000H – 7FFFH RAM : 8000H – FFFFH(2) ROM 27256 address( A0 – A14) :32Kbyte RAM 62256 address( A0 – A14) :32Kbyte(3) Memory map

(4) Address table

A15

A14

A13

A12

A11

A10

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 영 역

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H ROM7FFFH0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 8000H RAMFFFFH

1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Chip En

Memory address 고유 영역 (A0-A14)

Page 16: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

16

U?

Z80-CPU

303132333435363738394012345

1415128791013

27

19202221

28

18

24

1617

26

2523

6

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7

M1

MREQIORQWRRD

REFSH

HALT

WAIT

INTNMI

RESET

BUSRQBUSAK

CLK

U?

27256

109876543

25242123

22627

2022

1

1112131516171819

A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14

CEOEVPP

O0O1O2O3O4O5O6O7

U?

62256

109876543

25242123

226

1

202214

111213151617181927

28

A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14

CEOEVss

I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7/WE

Vdd

U?A

7432

1

23

U?A

7404

1 2U?A

7432

1

23

(5) 회로설계

Gate 를 이용한 Memory 영역설계

Map 설정

Page 17: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

17

INTEL80858bit

microprocessor

address busA8-A15

X1 X2

RESET OUT SOD SID TRAP RST7.5 RST6.5 RST5.5 INTR /INTA HOLD HLDA RESET IN READY

IO/M S1 /RD /WR ALE

U?

8085

36

1

2

56

987

10

11

29

33

39

35

12131415161718192122232425262728

30313234337438

RST-IN

X1

X2

SIDTRAP

RST 5.5RST 6.5RST 7.5

INTR

INTA

S0

S1

HOLD

READY

AD0AD1AD2AD3AD4AD5AD6AD7

A8A9

A10A11A12A13A14A15

ALEWRRD

IO/MRST-OT

CLKOSOD

HLDA

그림 2-12. 8085 CPU

Address data busAD0 -AD7

8085 microprocessor

8085 microprocessor 외부 핀

AD0-AD7

A8-A15

Page 18: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

18

8085 microprocessor

Demultiplexed address interface

Intel 계열 CPU 는 하위 주소버스는 데이터 버스와 동일한 버스를 사용하도록 설계되어 있다 . 따라서 외부에서 주소와 데이터버스를 분리 시켜주는 회로가 필요하다 . 이 방법을 demultiplexed address interface가고 한다 .

CPU 에서 먼저 address 신호를 출력한 다음 ALE( Address Latch Enable) 에 의하여 address 를 래치 한다 .이때 address bus 는 A0-A7 을 구성하고 A8-A15 을 합성하면 A0-A15 까 된다 .데이터 신호는 address 신호다음에 ALE 가 “ Low” 일 때에 출력된다 .

Address busINTEL80858bit

microprocessor

AD0-AD7

A8-A15

Latch

ALE

A0-A7

A8-A15

A0-A15

D0-D7 Data bus

Page 19: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

19

8085 microprocessor

Demultiplexed address interface

address data address dataAD0-AD7

ALE

D0-D7

Address A0-A7A0-A7 Address A0-A7

Address A8-A15 Address A8-A15A8-A15A0-A15{

data data

① AD0-AD7( 하위 8 비트 버스 ) 에 주소 신호 (A0-A7) 를 출력한다② ALE 신호가 “ high” 로 되면서 래치회로에서 A0-A7 을 래치한다 .③ ALE 신호를 “ low” 로 전환하고 D0-D7 를 출력한다 .

Page 20: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

20

U?

8085

36

1

2

56

987

10

11

29

33

39

35

12131415161718192122232425262728

30313234337438

RST-IN

X1

X2

SIDTRAP

RST 5.5RST 6.5RST 7.5

INTR

INTA

S0

S1

HOLD

READY

AD0AD1AD2AD3AD4AD5AD6AD7

A8A9

A10A11A12A13A14A15

ALEWRRD

IO/MRST-OT

CLKOSOD

HLDA

U?

74LS374

3478

13141718

111

256912151619

D0D1D2D3D4D5D6D7

OCCLK

Q0Q1Q2Q3Q4Q5Q6Q7

A0-A7

A8-A15

D0-D7

Demultiplexed address bus 방식 회로

8085 microprocessor

Demultiplexed address interface

Page 21: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

21

Micro-computer system

CPUInterface

회로I/O

device

Input Output Device interface

Input Output Device 종류

Bus

Buffer, 기타Interface 회로

Bus

• Input Device : Key Board, Mouse,Tablet, AD converter 등

• Output Device : CRT display, 7segment, LCD, Printer, Plotter,

DA converter 등

• I/O device : Memory, Magnetic tape, HDD,FDD

Page 22: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

22

Input Output Device interface

Input Output Device 의 Address interface 방식

Input Output 의 주소를 구분하는 방식

(1)Memory Mapped I/O 방식 (2) I/O Mapped I/O(Isolated Mapped I/O 방식

Main memory

I/O address

0000

FFFF

Main memory

00

FF

Main memory 내부에 I/O address 영역을 두는 방식 회로가 간단하다 Main memory 영역 감소

Main memory 영역과 I/O address 영역을 분리 시켜서 설계된 방식회로가 복잡하다main memory 영역을 모두 사용 가능

0000

FFFF

I/O address

I/O memory

Page 23: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

23

Input Output Device interface

Parallel I/O Interface device

CPU PORTI/O

deviceData

Parallel I/O device

반드시 Port 를 통하여 Data 전송

각 Port 들은 8bit 로 구성 , Handshake 신호들을 포함하고 있다

Chip select

R/W’Interrupt 요구Interrupt 확인

Port A Data Register

Port B Data Register

Port C Data Register

Control Register

00

01

10

11

Bus Bus

BusPort A

Port B

Port C

Port address A0 A1

Page 24: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

24

Input Output Device interface

Parallel I/O Interface 연결

PIO : Zilog Z8420, Intel 8255, Motorola MC6820

ex) 8255 PIO 를 (30,31,32,33)(34,35,36,37) 번지에 연결하시오

PIO address Map

PIO 고유 addressA0-A1

Decoder입력

Decoderselect

FFH

37H

34H

33H

30H

00H

PIO_2

PIO_1

(4) Address table

A7 A6 A5 A4 A3 A2 A1 A0 영 역

0 0 1 1 0 0 0 0 30H PIO_133H0 0 1 1 0 0 1 1

0 0 1 1 0 1 0 0 34H PIO_237H0 0 1 1 0 1 1 1

Page 25: 6 장 마이크로프로세서 메모리 및 입출력장치 인터페이스

25

Input Output Device interface

U?

74LS138

123

645

15141312111097

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

A4A3

¿µ¿ª8

¿µ¿ª2A2

¿µ¿ª7¿µ¿ª6

¿µ¿ª3

¿µ¿ª5¿µ¿ª4

¿µ¿ª1

A7A6A5

30 - 332C- 2F

24 - 27

38 - 3B

20 - 23

3C - 3F

34 - 37

28 - 2B

U?

8255

3433323130292827

536

98

356

432140393837

1819202122232425

1415161713121110

D0D1D2D3D4D5D6D7

RDWRA0A1RESETCS

PA0PA1PA2PA3PA4PA5PA6PA7

PB0PB1PB2PB3PB4PB5PB6PB7

PC0PC1PC2PC3PC4PC5PC6PC7

U?

8255

3433323130292827

536

98

356

432140393837

1819202122232425

1415161713121110

D0D1D2D3D4D5D6D7

RDWRA0A1RESETCS

PA0PA1PA2PA3PA4PA5PA6PA7

PB0PB1PB2PB3PB4PB5PB6PB7

PC0PC1PC2PC3PC4PC5PC6PC7

U?

Z80-CPU

303132333435363738394012345

1415128791013

27

19202221

28

18

24

1617

26

2523

6

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7

M1

MREQIORQWRRD

REFSH

HALT

WAIT

INTNMI

RESET

BUSRQBUSAK

CLK

U?

74LS138

123

645

15141312111097

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

U?A

7432

1

23

U?A

7432

1

23

30-33 34-37