본문 바로가기

KNU_study/마이크로프로세서

마이크로프로세서(11) I/O interface

728x90
반응형

 
 

3개의 control 신호

 
control 신호는 크게 4가지가 있다. 
-> memread, memwrite, IOread, IOwrite.
-> 각각 memory를 읽고 쓰기, I/O를 읽고 쓰는 역할을 한다. 
 
그러나 실제로 control 신호는 3가지로 구성된다. 
 

왼쪽 상자에 3개의 control 신호가 있다.

 
이 3개의 신호들을 메모리에 적용하면 다음과 같은 그림이 나온다. 
-> 그냥 남는 곳에다가 IO/M[바] 신호를 0으로 연결하자. 
-> IO/M[바] : 값이 0이면 low 신호이므로 memory, 1이면 high 신호이므로 IO를 선택한다.)
 

 
 

I/O interface

 
I/O를 interface시키는 방법은 크게 두 가지가 있다. 
 
1. I/O mapped I/O
-> I/O를 I/O 자체에 매핑시킨다. 
-> 동시에 control 신호가 안 나오므로 mem, input, output은 동시에 같은 번지를 가질 수 있다. 
    (예를 들어, 셋 다 00번지에 위치할 수 있다. )
-> 아래 그림은 메모리 4개, input 포트 4개, output 포트 4개의 그림이다. 
    IOR은 인풋 포트로부터 데이터를 읽어오는 것, input과만 연결되어 있다. 
    IOW는 데이터를 아웃풋 포트에 내보내는 것, output과만 연결되어 있다. 
 

각각 메모리, 인풋 포트, 아웃풋 포트

 
2. Memory mapped I/O
-> I/O를 memory에다가 매핑시킨다. 
-> mips, ARM과 같은 요즘 컴퓨터들이 자주 사용하는 방식이다. 

    컴퓨터는 64bit로, 최대 264개의 메모리를 달 수 있다. 

    너무 많은 양이여서 다 못 사용하므로, memory mapped I/O 방식을 사용. 효율적이다. 
-> Good : MEMR, MEMW로 모두 제어가 된다. 즉 control 신호가 2개
    Bad : 만약 메모리를 full로 달았다면 (=남는 번지가 없다면) 사용할 수 없는 방법이다. 
-> 프로세서는 인풋 포트, 아웃풋 포트를 모두 메모리로 인식하므로
    동시에 같은 주소 번지를 가질 수 없다. 
 

1. 하나의 값만 사용한다.
2. 남는 공간에 I/O input, output을 달아준다.

 
 
 
 
 
 
 

728x90
반응형