제어장치의 입출력

리셋벡터(FFFC)가 들어가는 주소는 ROM에 매핑된다.

제어장치와 PC는 용도가 달라서 입출력 지원의 정도도 다르다.

포트 맵 입출력(port-mapped I/O)

메모리 맵 입출력과 반대 된다는 것이 무슨 뜻이냐?

  • 입출력에 필요한 주소공간이 별도로 존재

포트(port)

포트(Port)

CPU가 외부 장치와 통신하기 위한 별도의 주소 공간

원래 주소공간만큼 메모리 접근 가능

  • 원래 주소공간을 전부 사용할 수 있다.

별도의 데이터 입출력용 CPU 명령어가 따로 있다.

  • 이렇게 되어야지 별도 주소공간을 사용하겠지?

포트 맵 입출력을 구현하는 두 가지 방법

  • 전환 방식
  • CPU에 전용 입출력 버스

예: 8088의 IO/M(bar) 핀

주소 핀은 그대로 두고 IO / M 전환으로 용도가 달라진다.

최종적으로 1비트(전환 플래그)를 추가해서 2배의 용량을 얻은 셈이다.

OUT DX,AL을 하면 IO/M(bar)핀이 알아서 I/O모드로 바뀌고 DX의 값을 포트에 쏴준다.

  • 니모닉이 IO/M(bar)핀을 제어한다.

사족: Apple lle에서 메모리가 부족하면?

bank switching 기법

  • 이를 지원하는 칩을 꽂으면 메모리를 늘려 사용할 수 있다.

과도기적인 이야기죠?