Home 입출력 장치
Post
Cancel

입출력 장치

주변장치

  • 주변장치는 메인보드의 버스와 연결된다.
    • 하나의 버스는 Address, Data, Control 버스로 이루어져 있고 I/O(입출력) 디바이스는 이 세가지 버스를 따로 받을 수 있다.
  • 각 하드웨어에 맞게 외부 인터페이스가 존재한다.
    • 장치의 상태와 데이터를 보관하는 레지스터들이 존재한다.
    • 레지스터들은 입출력 작업을 할때 데이터를 저장하는 역할. -> CPU가 사용하기 위해 메모리도 이용되기도 한다.

데이터의 전송단위에 따라 아래와 같이 디바이스를 나눈다.

  • 캐릭터(글자) 디바이스
    • 마우스, 키보드, 사운드 카드, 직병렬 포트
    • 상대적으로 적은 양의 데이터를 전송
  • 블록 디바이스
    • HDD(하드디스크), SSD, 그래픽 카드
    • 상대적으로 많은 양의 데이터를 전송
  • 기존 방법
1
2
3
- 하나의 버스 사용한다. 
- CPU가 IO 명령을 만나면 명령을 수행할때까지 멈춘다. 
- CPU 사용률이 떨어진다.
  • 보완된 방법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 입출력 제어기와 여러개의 버스를 추가한다. 
- CPU가 IO 명령을 만나면 입출력 제어기에게 맡기고 다른 작업을 한다.  
	- 시스템 버스
		- 고속작동하는 CPU와 메모리가 사용한다.
	- 입출력 버스
		- 주변장치가 사용한다.
		- 느린 주변장치와 빠른 주변장치를 아래와 같이 분리해서 병목현상을 해결했다.
			- 고속 입출력
			- 저속 입출력
		- 예외) 그래픽카드는 주변장치이지만, 워낙 대용량이기때문에 시스템 버스에 붙어서 사용한다.
- 입출력 제어기는 주변장치를 처리하고 입출력 버스에서 온 데이터를 메모리로 옮긴다.
- 메모리는 CPU의 명령으로 움직이기 때문에 데이터를 메모리로 옮기려면 CPU가 필요하다.
- CPU없이 메모리에 접근을 하기 위해 DMA(Direct Memory Access)가 추가된다. 
- CPU가 사용하는 메모리와 DMA가 사용하는 메모리를 나누는 데 이 것을 Memory Mapped I/O로 칭한다.

마우스와 키보드

  • 마우스 작동방식
1
2
3
4
5
6
7
8
9
10
11
12
- 최근에는 광학마우스를 주로 사용하기에 광학우스 기준으로 설명.
- 광학마우스는 아래쪽에 작은 카메라로 초당 1500회 넘는 사진을 찍는다. 
- 디바이스 컨트롤러의 DSL(Digital Signal Processor)로 보낸다. 
- 사진분석을 통해 X축과 Y축 좌표 움직임을 캐치한다. 
- DSP가 마우스 움직임과 클릭 감지한다.
- 디바이스 컨트롤러가 CPU에 인터럽트 보내면 마우스 드라이버가 데이터를 읽어간다.
- 마우스 드라이버가 운영체제에게 이벤트 신호 보낸다.
- 운영체제는 이 이벤트를 처리하거나 다른 애플리케이션으로 전달한다. 
	- EX)
	- 바탕화면에서의 우클릭이라면 운영체제가 메뉴를 띄우는 것으로 처리
	- 프로그램에서의 우클릭이라면 운영체제가 우클릭 이벤트를 프로그램에게 전달한다.
- 해당 애플리케이션은 마우스 이벤트를 처리한다.
  • 키보드 작동방식
    • 기본적으로 마우스와 작동방식은 동일하다.
1
2
3
4
5
6
- 유저가 키보드를 누른다 
- 키보드의 디바이스 컨트롤러가 어떤 키를 입력받았는지 알아낸다. 
- 디바이스 컨트롤러 CPU에게 인터럽트 보낸다. 
- 키보드 드라이버는 운영체제에게 이번트를 보낸다 
- 운영체제는 이 이벤트를 처리하거나 다른 애플리케이션으로 전달한다.
- 해당 애플리케이션은 이벤트를 처리한다.

하드디스크와 Flash Memory

  • 하드디스크
    • 섹터는 하드디스크의 가장 작은 단위
    • 하드디스크는 데이터를 어떻게 읽어오는가?
      • 헤드를 읽고자 하는 실린더로 이동시킨다. (= Seek)
      • 이동시키는 데 걸리는 시간(= Seek time) 이 ms 단위로 움직이기 때문에 느리다.
        • 참고) 다른 장치들은 ns 단위로 처리한다.
      • 헤드에 원하는 섹터가 닿을 때 까지 스핀들을 회전한다.
  • Flash Memory
    • HDD보다 Flash Memory를 더 사용한다.
    • 장점
      • 모바일기기에 하드디스크는 커서 넣을 수 없다.
      • 전기적으로 읽기때문에 HDD에 비해 빠르고 조용하다.
      • HDD는 자석을 갖다대면 데이터가 손상되나 Flash Memory는 괜찮다.
      • HDD는 회전축이 있어서 충격에 예민하지만 Flash Memory는 괜찮다.
    • 단점
      • 특정 지점에 데이터를 쓰면 덮어쓰기가 불가능하다. -> 기존 데이터를 지워야 사용할 수 있다.
      • 하지만 지울 수 있는 횟수가 제한되어 있어서 똑같은 지점에서 지우기 쓰기를 계속하면 손상된다.
This post is licensed under CC BY 4.0 by the author.

가상 메모리 2

파일 시스템