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)


Top Related