Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- jwt
- hashcode
- Test
- KEVISS
- AOP
- 재정의
- 필드 주입
- StringBuilder
- Spring
- jpa
- 바이너리 카운팅
- 테스트 코드
- java
- redis
- 인덱스
- docker
- select_type
- equals
- static
- stream
- cache
- 조합
- VUE
- 열 속성
- SQL
- DI
- lambda
- DDL
- 생성자 주입
- MSA
Archives
- Today
- Total
백엔드 개발자 블로그
8. 입출력장치 본문
1. 장치 컨트롤러와 장치 드라이버
- 장치 컨트롤러
- 장치 컨트롤러란? : 입출력장치와 컴퓨터 내부와 정보를 주고받음
- 장치 컨트롤러 사용하는 이유 : 입출력장치 규격화가 어려움, 전송률 차이
- 장치 컨트롤러 기능 :
- CPU와 입출력장치 간의 통신 중개
- 오류 검출
- 데이터 버퍼링 : 임시 저장공간에 저장하여 장치간 전송률을 비슷하게 맞추는 방식
- 장치 컨트롤러 구조
- 데이터 레지스터 : CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터
- 상태 레지스터 : 입출력 장치 상태(준비,완료,오류) 저장하는 레지스터
- 제어 레지스터 : 입출력장치가 수행할 내용에 대한 제어 정보와 명령을 저장
- 데이터 레지스터 : CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터
- 장치 드라이버 : 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램
2. 다양한 입출력 방법
- 프로그램 입출력 : 프로그램 속 명령어로 입출력장치를 제어하는 방법
- 메모리 맵 입출력 : 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 하나의 주소 공간으로 간주하는 방법
- 고립형 입출력 : 메모리를 위한 주소 공간과 입출력장치를 위한 주소 공간을 분리하는 방법
- 인터럽트 기반 입출력 : 인터럽트로써 입출력을 수행하는 방법
- 선착순
- 우선순위 순 -> PIC가 판별해줌(프로그래머블 인터럽트 컨트롤러)
- DMA 입출력 : CPU를 거치지 않고 메모리와 입출력장치 간의 데이터를 주고받는 입출력 방식
- DMA 컨트롤러 필요
- 입출력 버스 : 입출력장치와 컴퓨터 내부를 연결 짓는 통로
- 시스템 버스 사용 빈도를 줄임
- 종류
- PCI 버스
- PCI Express(PCIe) 버스
'독서 > 혼자 공부하는 컴퓨터 구조+운영체제' 카테고리의 다른 글
9. 운영체제 (0) | 2024.07.24 |
---|---|
7. 보조기억장치 (0) | 2024.07.22 |
6. 메모리와 캐시 메모리 (0) | 2024.07.19 |
5. CPU 성능 향상 기법 (0) | 2024.07.18 |
4. CPU 작동원리 (1) | 2024.07.17 |