4 장 마이크로프로세서 외부 신호

22
4장 장장장장장장장장 장장 장장 Slide 1 (of 22)

Upload: ali-newton

Post on 30-Dec-2015

122 views

Category:

Documents


3 download

DESCRIPTION

4 장 마이크로프로세서 외부 신호. 학습개요. 이번 시간에는 ... “ 마이크로프로세서 외부 신호 ” 에 대해 알아보겠습니다. 학 습 목 표. 마이크로프로세서의 외부신호에 대해 공부한다. 학 습 목 차. CPU 외부 신호 주소 버스 (Address Bus) 데이터 버스 (Data Bus) 시스템 제어 신호 (System Control) CPU Control signal System BUS Control. CPU 외부 신호. 1) CPU 외부신호. CPU 외부 신호. - PowerPoint PPT Presentation

TRANSCRIPT

4 장

마이크로프로세서 외부 신호

Slide 1 (of 22)

마이크로프로세서의 외부신호에 대해 공부한다 .

이번 시간에는 ...

“ 마이크로프로세서 외부 신호”에 대해 알아보겠습니다 .

학습개요학습개요

학 습 목 표학 습 목 표

• CPU 외부 신호• 주소 버스 (Address Bus)• 데이터 버스 (Data Bus) • 시스템 제어 신호 (System Control) • CPU Control signal • System BUS Control

학 습 목 차학 습 목 차

Slide 2 (of 22)

CPU 외부 신호

1) CPU 외부신호

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

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7

/M1/MREQ/IORQ/RD/WR/RFSH

/HALT/WAIT/INT/NMI/RESET

/BUSREQ/BUSACK

CLK+5VGND

Address BusA0 - A15

Data BusA0 - A15

Control Bus

(1) System control

(2) CPU control

(3) System Bus control

Slide 3 (of 22)

(1) 8 비트 마이크로프로세서의 Address Bus 는 16 비트 (A0 - A15) 로서 메모리를 0000H

번지부터 FFFFH 번지까지 총 65536( 216 = 65536) 번지를 지정할 수 있다 .

(2) Address Bus 는 Tri – state 버스이다 .

즉 버스라인들의 상태는 0 ( Low State), 1 ( High State), High Impedance (DMA 동작 시 Address Bus 는 고 임피던스가 된다 )

(3) Address Bus 는 단방향성 버스 (Unidirectional Bus) 이다 . 즉 Address Bus 는 CPU 에서 외부로만 전송된다 .

(1) 8 비트 마이크로프로세서의 Data Bus 는 8 비트 (D0 – D7) 이다 .

(2) DAta Bus 는 Tri – state 버스이다 .

즉 버스 라인들의 상태는 0 ( Low State), 1 ( High State), High Impedance (DMA 동작 시 Data Bus 는 고 임피던스가 된다 )

(3) Data Bus 는 양방향성 버스 (Bi-directional Bus) 이다 . 즉 Data Bus 는 CPU 와 메모리 및 주변 장치들과 양 방향으로 주고 받기 위한 버스이다 .

CPU 외부 신호

2) 주소 버스 (Address Bus)

3) 데이터 버스 (Data Bus)

Slide 4 (of 22)

CPU 외부 신호

4) 시스템 제어 신호 (System Control)

/M1 사이클은 CPU 가 메모리에 저장되어 있는 명령어를 인출 (Fetch) 해 올 때 Low 로 된다 . Machine Cycle One = Instruction Fetch = OP Code fetch CPU 가 명령어를 인출하는 과정은 다음과 같다

Control Bus 는 System Control, CUP Control, System Bus Control 로 구분되며 여기서 System

Control 신호는 CPU 와 메모리 , 주변 장치들의 입출력을 제어하는 /M1, /MREQ, /IORQ,

/RD, /WR, /RFSH 신호들이 있다 .

t0 : PC → MAR : 첫번째 클럭에서 PC 내용을 MAR(Memory Addrerss

Register) 로 전송한다

t1 : [M] → MBR, PC = PC+1 : 지정된 메모리 내용을 MBR(Memory Buffer Register)로

전송하고 . PC 를 자동으로 “1” 증가한다

t2 : MBR → IR : MBR 로 읽혀 나온 명령어를 명령어 레지스터 (IR) 로

전송한다 .

(1) /M1( Machine Cycle One)

/M1cycle

Slide 5 (of 22)

CPU 외부 신호

4) 시스템 제어 신호 (System Control)

t0 t1 t3 t4 t5 t6

PC → MAR [M] → MBR,

PC = PC+1MBR → IR

M1’ 신호가 Low 일 때 읽혀 오는 Data 는 OP-CODE 이다

Slide 6 (of 22)

CPU 외부 신호

4) 시스템 제어 신호 (System Control)

(2) /MREQ(Memory Request Signal)

/MREQ

① /MREQ 신호는 메모리 요구신호로서 CPU 는 메모리와 데이터를 주고 받기 위한 제어 신호이다 .

② /MREQ 신호가 Low 일 때 active

③ Low 일 때 메모리에 read 나 write 가 가능해 진다 .

(3) /RD(ReaD)

/RD

① /RD(Memory Read) 신호는 읽기 신호로서 메모리나 입출력 장치로부터 MPU 로 데이터를

읽어오기 위한 제어 신호이다 .

② 이 신호는 Low 일 때에 활성화 된다 .

Slide 7 (of 22)

CPU 외부 신호

4) 시스템 제어 신호 (System Control)

CPU Memory

/MERQ

/RD

A0-A15

/RD

/CE

D0-D7 D0-D7

메모리 영역 선택 /CE

①②

A0-AnAddress bus

Data bus

메모리 인터페이스

▣ 메모리 읽기 사이클 (memory read cycle)

메모리 읽기 사이클은 메모리에 저장되어 있는 데이터를 CPU 내부로 읽어오는 사이클을 말한다 .

아래 그림은 CPU 와 메모리 인터페이스 회로이다 . 여기서 메모리 내용을 읽어오기 위하여 Address(A0-

A15), /MREQ, /RD, Data(D0-D7) 신호들이 필요하다 . 동작 순서는 다음과 같다 .

Slide 8 (of 22)

t0 t1 t2 t3

/CLK

Address

/MREQ

/RD

Data Data In

Memory Address ①

① 어드레스 버스에 어드레스 데이터를 출력한다 .

② /MREQ 신호를 활성화 하여 메모리와 전송을 가능하게 한다 .

③ /RD 신호를 활성화하여 선택된 메모리에 읽기 제어 신호를 보낸다 .

④ 메모리에서 읽혀온 데이터를 MPU 로 읽어 들인다 .

CPU 외부 신호

4) 시스템 제어 신호 (System Control)

▣ 메모리 읽기 사이클 (memory read cycle)

메모리 읽기 사이클은 동작 순서는 다음과 같다 .

Slide 9 (of 22)

/WR(WRite) 신호는 쓰기 신호로서 MPU 에서 메모리나 입출력 장치로 데이터를 쓰기 위한 제어 신호이다 . 이 신호는 Low 일 때에 활성화 된다 .

CPU Memory

/MERQ

/WR

A0-A15

/WR

/CE

D0-D7 D0-D7

메모리 영역 선택 /CE

①②

A0-AnAddress bus

Data bus

CPU 외부 신호

4) 시스템 제어 신호 (System Control)

(4) /WR (Memory Write 신호 )

/WR

Slide 10 (of 22)

CPU 외부 신호

4) 시스템 제어 신호 (System Control)

▣ 메모리 쓰기 사이클 (memory write cycle)

t0 t1 t2 t3

/CLK

Address

/MREQ

/WR

Data Data Out

Memory Address ①

메모리로 데이터 저장

① 어드레스 버스에 어드레스 데이터를 출력한다 .

② /MREQ 신호를 활성화 하여 메모리와 전송을 가능하게 한다 .

③ MPU 에서 데이터를 데이터 버스에 실는다 .

④ /WR 신호를 활성화하여 선택된 메모리에 쓰기 제어 신호를 보내 데이터를 메모리 내부로 저장한다 .

메모리 쓰기 사이클은 동작 순서는 다음과 같다 .

Slide 11 (of 22)

① I/O 요구신호로서 CPU 와 입출력장치 간의 데이터 전송을 위한 신호이다 .② Low 일 때 active③ Low 일 때 CPU 는 입출력장치의 데이터를 read 나 write 한다 .

CPU I/O device

/IORQ

/RD

A0-A15

/RD

/CE

D0-D7 D0-D7

입출력 장치 영역 선택 /CE

①②

A0-AnAddress bus

Data bus

CPU 외부 신호

4) 시스템 제어 신호 (System Control)

/IORQ

(5) /IORQ (I/O Request Signal)

Slide 12 (of 22)

t0 t1 t2 t3

/CLK

Address

/IORQ

/RD

Data Data In

입출력 장치 Address ①

① 어드레스 버스에 어드레스 데이터를 출력한다 .

② /IORQ 신호를 활성화 하여 입출력장치와 전송 가능상태로 한다 .

③ /RD 신호를 활성화하여 선택된 입출력 장치에 읽기 제어 신호를 보낸다 .

④ 입출력 장치로부터 읽어온 데이터를 CPU 로 읽어 들인다 .

CPU 외부 신호

▣ 입출력 읽기 사이클 (I/O read cycle)

4) 시스템 제어 신호 (System Control)

Slide 13 (of 22)

/RD /WR /MREQ /IORQ Control

0 1 1 0 /IOR

1 0 1 0 /IOW

0 1 0 0 /MEMR

1 0 0 0 /MEMW

/MEMR

/MEMW

/IOW

/IOR

U?

Z80

303132333435363738394012345

1415128791013

27

19202221

28

18

24

1617

26

2523

6

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7

M1

MREQIORQWRRD

REFSH

HALT

WAIT

INTNMI

RESET

BUSRQBUSAK

CLK

1

23

1

23

1

23

1

23

CPU 외부 신호

(6) 메모리 및 입출력 장치 Control Bus

▣ Z80 CPU control bus

4) 시스템 제어 신호 (System Control)

Slide 14 (of 22)

/RD /WR IO/M Control

0 1 1 /IOR

1 0 1 /IOW

0 1 0 /MEMR

1 0 0 /MEMW

/IOR

/IOW

/MEMW

/MEMR

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

1 2

1 2

1 2 1 2

2

31

2

31

2

31

2

31

4) 시스템 제어 신호 (System Control)

(6) 메모리 및 입출력 장치 Control Bus

▣ 8085 Control Bus

Slide 15 (of 22)

CPU 외부 신호

5) CPU Control signal

(1) power On or RESET

program counter Reset (0000H)

Instruction register Reset (00H)

INIT flip-flop Reset (00H)

Flag register Cleared (00H)

Machine cycle flip-flop Reset

모든 상태가 초기화 된다 .

Z80 CPU Power on RESET 또는RESET Key 에 의한 RESET Signal 이 입력되면

VCC

D2

4148

U13

Z80

303132333435363738394012345

1415128791013

27

19202221

28

18

24

1617

26

2523

6

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7

M1

MREQIORQWRRD

REFSH

HALT

WAIT

INTNMI

RESET

BUSRQBUSAK

CLK

VCC

R44.7K

RESET C11uF

/RESET

Slide 16 (of 22)

CPU 외부 신호

5) CPU Control signal

(2) CPU Halt 신호

① CPU 의 모든 동작이 정지상태에 들어간다 . 이때 refresh 신호만 정상 동작한다 .

② /HALT 상태를 벗어나려면 /NMI 나 /INT 신호를 걸어서 해제 시켜 주어야 한다 .

③ /HALT 명령어에 의해 /HALT’ 신호가 LOW 로 떨어진다 .

t0 t1 t2 t3 t0 t1 t2 t3

˜˜

˜

CLK

/M1

/HALTPower down

t0 t1 t2 t3 t0 t1

˜˜

CLK

/M1

/HALT

/INT

˜ Power down release

t2 t3

/HALT

/HALT 신호에 의한 파워다운

/INT 나 리셋에 의한 파워다운 해제

Slide 17 (of 22)

CPU 외부 신호

5) CPU Control signal

(3) CPU Wait 신호

① 고속 CPU 가 저속 주변장치와 서로간의 Data 처리 시간을 Link 시키기 위한 신호이다 .

② Wait 신호가 LOW 이면 CPU 는 No peration 상태로 된다 .

MBR

MemoryCPU

PC

MA

R

① t0 : 2uSAddress bus

② t1 : 4uS

IR

Data

③ t2 : 2uS

Data bus

/ WATE

Wate 신호

t0 : PC→MAR                : 2uS 소요 t1 : [M]  → MBR, PC←PC+1 : 메모리 [M] 내부의 데이터를 MBR 까지 읽어내 오는데 6uS 가 소요된다 . 따라서 /WATE 신호를 삽입한다 . t2 : MBR → IR               : 2uS 소요

/WAIT

Slide 18 (of 22)

CPU 외부 신호

5) CPU Control signal

/CLKt0 t1 tw tw t2 t3

Address2uS

/M1

/MREQ

/RD

/WATE

Data Data In6uS

①PC→ MAR

2uS

②[M]→ MBR ③MBR→ I R2uS

WATE WATE WATE

▣ /WATE 신호 타이밍도

Slide 19 (of 22)

CPU 외부 신호

5) CPU Control signal

(5) NMI’(Non mask able Interrupt Request Signal)

(4) Interrupt Request Signal (/INT)

/INT Interrupt( 가로체기 ) 신호는 다음 9 장에서 설명한다

/NMI /NMI( 가로체기 ) 신호는 다음 9 장에서 설명한다

Slide 20 (of 22)

CPU 외부 신호

6) System BUS Control

(1) CPU BUS Request Signal

DMA 와 주변 장치간의 고속 데이터 전송을 위한 방법으로 CPU 를 거치지 않고직접 전송하는 기능이다 . 이때 CPU 의 버스 선들은 High impedance 가 된다 .

Acc

Memory

I/O device

Address bus

Data bus

CPU

AccMemory

I/O device

Address bus

Data bus

CPU

DMA

/BUSREQ

/BUSACK

/BUSREQ/BUSACK

High inpedance

/BUSREQ

▣ DMA 가 없을 경우 데이터 전송 ▣ DMA 를 사용하였을 경우

Slide 21 (of 22)

CPU 외부 신호

6) System BUS Control

/CLK

/BUSREQ

/BUSACK

Address

Data

/MREQ,/IORQ/RD, /WR

Last Dtate

High impedance

Floating

t0txtxtxtx

① 대량 단순 데이터전송이 필요하면 CPU 에서 DAM 로 데이터 전송 명령을 내린다 . 이때 DAM 는 데이터 전송을 위한 초기치 값을 세트한다 . ② DMA 에서 CPU 로 /BUSREQ 신호를 보낸다 . ③ CPU 는 어드레스 버스 , 데이터 버스 , 제어신호 들을 고 임피던스로 전환하여 차단하고 /BUSACK 신호를 DMA 로 전송 한다 . ④ DMA 는 메모리와 주변장지들 간의 고속 데이터 전송을 실행한다 . ⑤ 전송이 종료되면 DAM 에서 /BUSREQ 신호를 “High 로 전환한다 . ⑥ CPU 는 /BUSACK 신호를 "High" 로 전환하고 어드레스 버스 , 데이터 버스 , 제어 신호들을 정상화 한다 .

Slide 22 (of 22)