Download presentation
Presentation is loading. Please wait.
1
4장 마이크로프로세서 외부 신호 Slide 1 (of 22)
2
“마이크로프로세서 외부 신호”에 대해 알아보겠습니다.
학습개요 이번 시간에는... “마이크로프로세서 외부 신호”에 대해 알아보겠습니다. 학 습 목 표 마이크로프로세서의 외부신호에 대해 공부한다. 학 습 목 차 CPU 외부 신호 주소 버스(Address Bus) 데이터 버스(Data Bus) 시스템 제어 신호(System Control) CPU Control signal System BUS Control Slide 2 (of 22)
3
CPU 외부 신호 1) CPU 외부신호 Slide 3 (of 22)
4
CPU 외부 신호 2) 주소 버스(Address Bus)
(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에서 외부로만 전송된다. 3) 데이터 버스(Data Bus) (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와 메모리 및 주변 장치들과 양 방향으로 주고 받기 위한 버스이다. Slide 4 (of 22)
5
CPU 외부 신호 4) 시스템 제어 신호(System Control)
Control Bus는 System Control, CUP Control, System Bus Control로 구분되며 여기서 System Control 신호는 CPU와 메모리, 주변 장치들의 입출력을 제어하는 /M1, /MREQ, /IORQ, /RD, /WR, /RFSH 신호들이 있다. (1) /M1( Machine Cycle One) /M1cycle /M1 사이클은 CPU가 메모리에 저장되어 있는 명령어를 인출(Fetch)해 올 때 Low로 된다. Machine Cycle One = Instruction Fetch = OP Code fetch CPU가 명령어를 인출하는 과정은 다음과 같다 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)로 전송한다. Slide 5 (of 22)
6
CPU 외부 신호 4) 시스템 제어 신호(System Control) t0 t1 t3 t4 t5 t6
PC → MAR [M] → MBR, PC = PC+1 MBR → IR M1’신호가 Low일 때 읽혀 오는 Data는 OP-CODE이다 Slide 6 (of 22)
7
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)
8
CPU 외부 신호 4) 시스템 제어 신호(System Control) ▣ 메모리 읽기 사이클(memory read cycle)
아래 그림은 CPU와 메모리 인터페이스 회로이다. 여기서 메모리 내용을 읽어오기 위하여 Address(A0- A15), /MREQ, /RD, Data(D0-D7) 신호들이 필요하다. 동작 순서는 다음과 같다. 메모리 인터페이스 Slide 8 (of 22)
9
CPU 외부 신호 4) 시스템 제어 신호(System Control) ▣ 메모리 읽기 사이클(memory read cycle)
메모리 읽기 사이클은 동작 순서는 다음과 같다. ① 어드레스 버스에 어드레스 데이터를 출력한다. ② /MREQ 신호를 활성화 하여 메모리와 전송을 가능하게 한다. ③ /RD 신호를 활성화하여 선택된 메모리에 읽기 제어 신호를 보낸다. ④ 메모리에서 읽혀온 데이터를 MPU로 읽어 들인다. Slide 9 (of 22)
10
CPU 외부 신호 4) 시스템 제어 신호(System Control) (4) /WR (Memory Write 신호) /WR
/WR(WRite)신호는 쓰기 신호로서 MPU에서 메모리나 입출력 장치로 데이터를 쓰기 위한 제어 신호이다. 이 신호는 Low 일 때에 활성화 된다. Slide 10 (of 22)
11
CPU 외부 신호 4) 시스템 제어 신호(System Control)
▣ 메모리 쓰기 사이클(memory write cycle) 메모리 쓰기 사이클은 동작 순서는 다음과 같다. ① 어드레스 버스에 어드레스 데이터를 출력한다. ② /MREQ 신호를 활성화 하여 메모리와 전송을 가능하게 한다. ③ MPU에서 데이터를 데이터 버스에 실는다. ④ /WR 신호를 활성화하여 선택된 메모리에 쓰기 제어 신호를 보내 데이터를 메모리 내부로 저장한다. Slide 11 (of 22)
12
CPU 외부 신호 4) 시스템 제어 신호(System Control) (5) /IORQ (I/O Request Signal)
① I/O 요구신호로서 CPU와 입출력장치 간의 데이터 전송을 위한 신호이다. ② Low일 때 active ③ Low 일 때 CPU는 입출력장치의 데이터를 read나 write 한다. Slide 12 (of 22)
13
CPU 외부 신호 4) 시스템 제어 신호(System Control) ▣ 입출력 읽기 사이클(I/O read cycle)
① 어드레스 버스에 어드레스 데이터를 출력한다. ② /IORQ 신호를 활성화 하여 입출력장치와 전송 가능상태로 한다. ③ /RD 신호를 활성화하여 선택된 입출력 장치에 읽기 제어 신호를 보낸다. ④ 입출력 장치로부터 읽어온 데이터를 CPU로 읽어 들인다. Slide 13 (of 22)
14
CPU 외부 신호 4) 시스템 제어 신호(System Control) (6) 메모리 및 입출력 장치 Control Bus
/RD /WR /MREQ /IORQ Control 1 /IOR /IOW /MEMR /MEMW ▣ Z80 CPU control bus Slide 14 (of 22)
15
4) 시스템 제어 신호(System Control)
(6) 메모리 및 입출력 장치 Control Bus ▣ 8085 Control Bus /RD /WR IO/M Control 1 /IOR /IOW /MEMR /MEMW Slide 15 (of 22)
16
CPU 외부 신호 5) CPU Control signal (1) power On or RESET /RESET
Z80 CPU Power on RESET 또는 RESET Key에 의한 RESET Signal이 입력되면 program counter Reset (0000H) Instruction register Reset (00H) INIT flip-flop Reset (00H) Flag register Cleared (00H) Machine cycle flip-flop Reset 모든 상태가 초기화 된다. Slide 16 (of 22)
17
CPU 외부 신호 5) CPU Control signal (2) CPU Halt 신호 /HALT
① CPU의 모든 동작이 정지상태에 들어간다. 이때 refresh 신호만 정상 동작한다. ② /HALT상태를 벗어나려면 /NMI나 /INT신호를 걸어서 해제 시켜 주어야 한다. ③ /HALT명령어에 의해 /HALT’신호가 LOW로 떨어진다. /HALT 신호에 의한 파워다운 /INT나 리셋에 의한 파워다운 해제 Slide 17 (of 22)
18
CPU 외부 신호 5) CPU Control signal (3) CPU Wait 신호
고속 CPU가 저속 주변장치와 서로간의 Data처리 시간을 Link시키기 위한 신호이다. ② Wait신호가 LOW이면 CPU는 No peration상태로 된다. /WAIT t0 : PC→MAR : 2uS 소요 t1 : [M] → MBR, PC←PC+1 : 메모리[M] 내부의 데이터를 MBR 까지 읽어내 오는데 6uS가 소요된다. 따라서 /WATE 신호를 삽입한다. t2 : MBR → IR : 2uS 소요 Slide 18 (of 22)
19
CPU 외부 신호 5) CPU Control signal ▣ /WATE 신호 타이밍도 Slide 19 (of 22)
20
CPU 외부 신호 5) CPU Control signal (4) Interrupt Request Signal (/INT)
(5) NMI’(Non mask able Interrupt Request Signal) /NMI /NMI(가로체기)신호는 다음 9장에서 설명한다 Slide 20 (of 22)
21
CPU 외부 신호 6) System BUS Control (1) CPU BUS Request Signal /BUSREQ
DMA와 주변 장치간의 고속 데이터 전송을 위한 방법으로 CPU를 거치지 않고 직접 전송하는 기능이다. 이때 CPU의 버스 선들은 High impedance가 된다. ▣ DMA가 없을 경우 데이터 전송 ▣ DMA를 사용하였을 경우 Slide 21 (of 22)
22
CPU 외부 신호 6) System BUS Control
① 대량 단순 데이터전송이 필요하면 CPU에서 DAM로 데이터 전송 명령을 내린다. 이때 DAM는 데이터 전송을 위한 초기치 값을 세트한다. ② DMA에서 CPU로 /BUSREQ 신호를 보낸다. ③ CPU는 어드레스 버스, 데이터 버스, 제어신호 들을 고 임피던스로 전환하여 차단하고 /BUSACK 신호를 DMA로 전송 한다. ④ DMA는 메모리와 주변장지들 간의 고속 데이터 전송을 실행한다. ⑤ 전송이 종료되면 DAM에서 /BUSREQ 신호를 “High로 전환한다. ⑥ CPU는 /BUSACK 신호를 "High"로 전환하고 어드레스 버스, 데이터 버스, 제어 신호들을 정상화 한다. Slide 22 (of 22)
Similar presentations