본문 바로가기

KNU_study/마이크로프로세서

마이크로프로세서(14) 타이밍도

728x90
반응형

 
 

1. demultiplexing

 
Read 할 때의 순서 : Address bus --> Control bus --> Data bus
Write 할 때의 순서 : Address bus --> Data bus --> Control bus
-> Address bus와 Data bus는 동시에 쓰이지 않는다. 그러므로 그걸 같이 써서 효율적으로 줄이자. 
    이렇게 공용으로 사용하는 것을 demultiplexing이라고 한다. 
    입력이 1개, 출력이 여러개인 상황을 의미한다. multiplexer는 입력이 여러 개, 출력이 한 개
 
 

2. ALE 신호

 
(1) Ctrl 신호(파랑)을 1로 준다. 
(2) 잠시 뒤, Ctrl 신호(파랑)을 0으로 바꾼다. 
(3) 결과를 보면, Q는 그대로 1이 유지되고, 그 밑의 값은 변한다. 
-> ALE 신호 : address latch enable 신호 
 

 
예를 들어보자. 
2001H 번지가 address bus에 실려 enable되는 동시에 data bus로 값도 들어간다. 
address bus가 실리면, ALE 신호가 0으로 떨어진다. 
MEMR 신호를 주면, data bus가 실린다. 
-> FF는 시작할 때 1이 되고, 한 클락 지나면 0이 되는 것을 data bus로도 사용한다. 
    FF는 시작할 때 1이 되고, 한 클락 지나도 계속 1인 것은 address bus만으로 사용한다. 
-> 이에 대한 그림은 아래와 같다. A와 D가 같이 사용되는 모습
 

 
 

3. 타이밍도

 
<타이밍도의 표현>
하나의 명령어의 시작부터 끝까지, 시스템들간의 변화를 의미한다. 
* 모든 명령어의 시작은 opcode fetch machine cycle이다. 
* 16bit의 address bus를 표현하기엔 너무 길기 때문에 필요한 값만 묶어 표현한다. 
 

 
<opcode fetch machine cycle>
최소 3T간 유지해야 한다. 한 클락 후에 이 cycle은 완전히 끊긴다. 
8bit짜리 AD를 보면, 첫 블락은 Address bus를, 두번째 블락은 Data bus를 나타낸다. 
 

 
<ADD M>
몇가지 명령어들을 타이밍도로 그려보자. 
 

 
<DCR M>
외부 메모리 주소(M)의 값을 1 감소시키는 명령어다. 
INR M도 같은 타이밍도로 표현된다. 
 

오류 있음 T3 저렇게 그리면 안됨 ㅠㅠ WR이라서 데이터 블록 잘못그림 !!!

 
<INX B>
최악의 경우, 예를 들어 BC가 20H와 FFH라면, 그 값은 2100H가 된다.
-> 그것까지 고려하여 3개 T를 더 작성해둔다. 이 T들은 BC의 값을 1 증가시킬 때 필요하다.  
DCX 명령어도 same
 

 
<LXI D, 2040H>
3byte 명령어 중에 유일하게 기본형으로 끝난다. 
 

 
<LDA 2050H>
3byte 명령어이지만, opcode fetch + MEMR + MEMR + MEMR cycle을 가진다. 
 

 
<STA 2051H>
역시 3byte 명령어이지만, opcode fetch + MEMR + MEMR + MEMW cycle을 가진다. 
 

 
<MVI B, 20H>
2byte 명령어에선, 2개를 제외한 모든 명령어가 기본형이다 !!
그 2개가 IN, OUT 명령어다 !!
 

 
<IN 01H>
opcode를 실음과 동시에, PC가 2001H로 변한다. 
decoder에 enable되고, MEMR control 신호가 주어지면, databus에 싣는 것과 동시에 PC가 1 증가한다. 
** IN, OUT 포트는 address bus를 8개만 사용한다. 
 

-> 예.. 실수한 부분이 있군요, M3 동작은 I/O의 동작이기 때문에 IO/M을 올려줘야 합니다ㅜㅜ 

 
<OUT 02H>
opcode를 실음과 동시에, PC가 2001H로 변한다.
 A값을 output 02번지로 내보내야 한다. 
 

-> 여기도 마찬가지로 M3 동작은 I/O의 동작이기 때문에 IO/M을 올려줘야 합니다ㅜㅜ 

 
 
 

728x90
반응형